Como criar objetos gráficos para desenho
Antes de desenhar linhas e formas, renderizar texto ou exibir e manipular imagens com GDI+, você precisa criar um Graphics objeto. O Graphics objeto representa uma superfície de desenho GDI+ e é o objeto usado para criar imagens gráficas.
Há duas etapas ao trabalhar com gráficos:
Criando um Graphics objeto.
Usando o Graphics objeto para desenhar linhas e formas, renderizar texto ou exibir e manipular imagens.
Criando um objeto gráfico
Um objeto gráfico pode ser criado de várias maneiras.
Para criar um objeto gráfico
Receba uma referência a um objeto gráfico como parte do PaintEventArgs no Paint caso de um formulário ou controle. Geralmente é assim que você obtém uma referência a um objeto gráfico ao criar código de pintura para um controle. Da mesma forma, você também pode obter um objeto gráfico como uma propriedade do PrintPageEventArgs ao manipular o PrintPage evento para um PrintDocumentarquivo .
-ou-
Chame o CreateGraphics método de um controle ou formulário para obter uma referência a um Graphics objeto que representa a superfície de desenho desse controle ou formulário. Use esse método se quiser desenhar em um formulário ou controle que já exista.
-ou-
Crie um Graphics objeto a partir de qualquer objeto herdado do Image. Essa abordagem é útil quando você quer alterar uma imagem existente.
As seções a seguir dão detalhes sobre cada um desses processos.
PaintEventArgs no manipulador de eventos de pintura
Ao programar os PaintEventHandler controles for ou for PrintPage a PrintDocument, um objeto gráfico é fornecido como uma das propriedades de PaintEventArgs ou PrintPageEventArgs.
Para obter uma referência a um objeto Gráfico de PaintEventArgs no evento de pintura
Declare o Graphics objeto.
Atribua a variável para fazer referência ao Graphics objeto passado como parte do PaintEventArgs.
Inserir código para pintar o formulário ou o controle.
O exemplo a seguir mostra como fazer referência a um Graphics objeto do PaintEventArgs evento in Paint :
Private Sub Form1_Paint(sender As Object, pe As PaintEventArgs) Handles _ MyBase.Paint ' Declares the Graphics object and sets it to the Graphics object ' supplied in the PaintEventArgs. Dim g As Graphics = pe.Graphics ' Insert code to paint the form here. End Sub
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs pe) { // Declares the Graphics object and sets it to the Graphics object // supplied in the PaintEventArgs. Graphics g = pe.Graphics; // Insert code to paint the form here. }
private: void Form1_Paint(System::Object ^ sender, System::Windows::Forms::PaintEventArgs ^ pe) { // Declares the Graphics object and sets it to the Graphics object // supplied in the PaintEventArgs. Graphics ^ g = pe->Graphics; // Insert code to paint the form here. }
Método CreateGraphics
Você também pode usar o CreateGraphics método de um controle ou formulário para obter uma referência a um Graphics objeto que representa a superfície de desenho desse controle ou formulário.
Para criar um objeto gráfico com o método CreateGraphics
Chame o CreateGraphics método do formulário ou controle no qual você deseja renderizar elementos gráficos.
Dim g as Graphics ' Sets g to a Graphics object representing the drawing surface of the ' control or form g is a member of. g = Me.CreateGraphics
Graphics g; // Sets g to a graphics object representing the drawing surface of the // control or form g is a member of. g = this.CreateGraphics();
Graphics ^ g; // Sets g to a graphics object representing the drawing surface of the // control or form g is a member of. g = this->CreateGraphics();
Criar de um objeto de imagem
Além disso, você pode criar um objeto gráfico de qualquer objeto que deriva da Image classe.
Para criar um objeto Gráfico de uma imagem
Chame o Graphics.FromImage método, fornecendo o nome da variável Image a partir da qual você deseja criar um Graphics objeto.
O exemplo a seguir mostra como usar um Bitmap objeto:
Dim myBitmap as New Bitmap("C:\Documents and Settings\Joe\Pics\myPic.bmp") Dim g as Graphics = Graphics.FromImage(myBitmap)
Bitmap myBitmap = new Bitmap(@"C:\Documents and Settings\Joe\Pics\myPic.bmp"); Graphics g = Graphics.FromImage(myBitmap);
Bitmap ^ myBitmap = gcnew Bitmap("D:\\Documents and Settings\\Joe\\Pics\\myPic.bmp"); Graphics ^ g = Graphics::FromImage(myBitmap);
Observação
Você só pode criar Graphics objetos a partir de arquivos .bmp não indexados, como arquivos .bmp de 16 bits, 24 bits e 32 bits. Cada pixel dos arquivos .bmp não indexados mantém uma cor, em contraste com pixels de arquivos .bmp indexados, que mantêm um índice para uma tabela de cores.
Desenhar e manipular imagens e formas
Depois de criado, um Graphics objeto pode ser usado para desenhar linhas e formas, renderizar texto ou exibir e manipular imagens. Os principais objetos que são usados com o Graphics objeto são:
A Pen classe—Usada para desenhar linhas, delinear formas ou renderizar outras representações geométricas.
A Brush classe—Usada para preencher áreas de elementos gráficos, como formas preenchidas, imagens ou texto.
A Font classe—Fornece uma descrição de quais formas usar ao renderizar texto.
A Color estrutura — Representa as diferentes cores a serem exibidas.
Para usar o objeto Gráfico que você criou
Trabalhe com o objeto apropriado listado acima para desenhar o que você precisa.
Para Mais informações, consulte os seguintes tópicos:
Para renderizar Consulte Linhas Como desenhar uma linha em um formulário do Windows Forms Formas Como desenhar uma forma delineada Texto Como Desenhar Texto em um Windows Form Imagens Como Renderizar Imagens com o GDI+
Confira também
.NET Desktop feedback