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 objeto Graphics. O objeto Graphics representa uma superfície de desenho GDI+ e é o objeto usado para criar imagens gráficas.
Há duas etapas para trabalhar com elementos gráficos:
Criando um objeto Graphics.
Usando o objeto Graphics 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 evento Paint de um formulário ou controle. Geralmente, é assim que você obtém uma referência a um objeto gráfico ao criar um 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 evento PrintPage para um PrintDocument.
-ou-
Chame o método CreateGraphics de um controle ou formulário para obter uma referência a um objeto Graphics que representa a superfície de desenho desse controle ou formulário. Use esse método se você quiser desenhar em um formulário ou controle que já existe.
-ou-
Crie um objeto Graphics de qualquer objeto que herda de Image. Essa abordagem é útil quando você deseja alterar uma imagem já existente.
As seções a seguir fornecem detalhes sobre cada um desses processos.
PaintEventArgs no manipulador de eventos Paint
Ao programar o PaintEventHandler para controles ou o PrintPage para um PrintDocument, um objeto gráfico é fornecido como uma das propriedades de PaintEventArgs ou PrintPageEventArgs.
Para obter uma referência a um objeto Graphics do PaintEventArgs no evento Paint
Declare o objeto Graphics.
Atribua a variável para se referir ao objeto Graphics passado como parte do PaintEventArgs.
Insira o código para pintar o formulário ou o controle.
O exemplo a seguir mostra como referenciar um objeto Graphics do PaintEventArgs no evento 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 método CreateGraphics de um controle ou formulário para obter uma referência a um objeto Graphics que representa a superfície de desenho desse controle ou formulário.
Para criar um objeto Graphics com o método CreateGraphics
Chame o método CreateGraphics do formulário ou controle no qual você deseja renderizar 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 com base em um objeto de imagem
Além disso, você pode criar um objeto gráfico de qualquer objeto que deriva da classe Image.
Para criar um objeto Gráfico a partir de uma imagem
Chame o método Graphics.FromImage, fornecendo o nome da variável Image da qual você deseja criar um objeto Graphics.
O exemplo a seguir mostra como usar um objeto Bitmap:
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);
Nota
Você só pode criar objetos Graphics de arquivos .bmp não indexados, como arquivos de 16 bits, 24 bits e 32 bits .bmp. Cada pixel de arquivos .bmp não indexados contém uma cor, em contraste com pixels de arquivos .bmp indexados, que mantêm um índice para uma tabela de cores.
Desenhando e manipulando formas e imagens
Depois de criado, um objeto Graphics pode ser usado para desenhar linhas e formas, renderizar texto ou exibir e manipular imagens. Os objetos principais usados com o objeto Graphics são:
A classe Pen — usada para desenhar linhas, estruturar formas ou renderizar outras representações geométricas.
A classe Brush — usada para preencher áreas de elementos gráficos, como formas preenchidas, imagens ou texto.
A classe Font – Fornece uma descrição de quais formas usar ao renderizar texto.
A estrutura Color — representa as cores diferentes a serem exibidas.
Para usar o objeto Gráficos que você criou
Trabalhe com o objeto apropriado listado acima para desenhar o que você precisa.
Para obter mais informações, consulte os seguintes tópicos:
Para renderizar Ver Linhas Como desenhar uma linha em um formulário do Windows Formas Como desenhar uma forma delineada Texto Como desenhar texto em um formulário do Windows Imagens Como renderizar imagens com GDI+
Consulte também
.NET Desktop feedback