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 no trabalho com 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 controlo. Normalmente, é 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 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 quiser desenhar em um formulário ou controle que já existe.
-ou-
Crie um objeto Graphics a partir de qualquer objeto que herde 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 do 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 gráfico do PaintEventArgs durante o 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 controle.
O exemplo a seguir mostra como fazer referência a 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 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 a partir de um objeto de imagem
Além disso, você pode criar um objeto gráfico a partir de qualquer objeto que derive da classe Image.
Para criar um objeto Graphics a partir de uma Imagem
Chame o método Graphics.FromImage, fornecendo o nome da variável Image a partir 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);
Observação
Você só pode criar objetos Graphics a partir de arquivos .bmp não indexados, como arquivos .bmp de 16, 24 bits e 32 bits. Cada pixel de arquivos .bmp não indexados contém uma cor, em contraste com pixels de arquivos .bmp indexados, que contêm um índice para uma tabela de cores.
Desenho e manipulação de 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 principais objetos que são usados com o objeto Graphics são:
A classe Pen — usada para desenhar linhas, esboçar formas ou renderizar outras representações geométricas.
A classe Brush—Usada para preencher áreas de 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 diferentes cores a serem exibidas.
Para usar o objeto Graphics 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 Veja Linhas Como desenhar uma linha num Windows Forms Formas Como: Desenhar uma forma delineada Texto Como desenhar texto num Windows Forms Imagens Como: Renderizar imagens com GDI+
Ver também
.NET Desktop feedback