Como: Criar objetos gráficos para desenho

Antes de você pode desenhar linhas e formas, processamento de texto, ou exibir e manipular imagens com GDI+, você precisará criar um Graphics objeto. O Graphics objeto representa uma GDI+ de desenho de superfície, e é o objeto que é usado para criar imagens gráficas.

Há duas etapas para trabalhar com elementos gráficos:

  1. Criando um Graphics objeto.

  2. Usando o Graphics o objeto para desenhar linhas e formas, processamento de texto, ou exibir e manipular imagens.

Criando um objeto Graphics

Um objeto graphics pode ser criado em uma variedade de formas.

Para criar um objeto graphics

  • Receber uma referência a um objeto graphics como parte do PaintEventArgs na Paint o evento de um formulário ou controle. Geralmente, isso é como obter uma referência a um objeto graphics ao criar o código de pintura para um controle. Da mesma forma, você também pode obter um objeto graphics como uma propriedade da PrintPageEventArgs quando estiver manipulando o PrintPage evento para um PrintDocument.

    - ou -

  • Chamar o CreateGraphics o 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 este método se você deseja desenhar em um formulário ou controle que já existe.

    - ou -

  • Criar um Graphics o objeto de qualquer objeto que herda de Image. Essa abordagem é útil quando você quiser alterar uma imagem já existente.

    As seções a seguir fornecem detalhes sobre cada um desses processos.

PaintEventArgs no manipulador de eventos de pintura

Ao programar o PaintEventHandler para controles ou a 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 a partir do PaintEventArgs no evento Paint

  1. Declarar o Graphics objeto.

  2. Atribuir a variável para referir-se a Graphics objeto passado como parte do PaintEventArgs.

  3. Insira o código para pintar o formulário ou controle.

    O exemplo a seguir mostra como fazer referência a uma Graphics de objeto da PaintEventArgs na Paint evento:

    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 o 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 Graphics com o método CreateGraphics

  • Chamar o CreateGraphics o método do formulário ou controle no qual você deseja processar 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 graphics a partir de qualquer objeto que deriva do Image classe.

Para criar um objeto Graphics a partir de uma imagem

  • Chamar o Graphics.FromImage método, fornecendo o nome da variável de imagem que 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çãoObservação

Você só pode criar Graphics objetos a partir de arquivos BMP não indexados, como todos os arquivos. bmp de 16 bits, 24 bits e 32 bits. Cada pixel de BMP não indexados mantém uma cor, em contraste com pixels de arquivos BMP indexado, que mantêm um índice para uma tabela de cores.

Desenho e manipulação de imagens e formas

Depois de criado, um Graphics objeto pode ser usado para desenhar linhas e formas, processamento de texto, ou exibir e manipular imagens. Os principais objetos que são usados com o Graphics objeto são:

  • O Pen classe — usado para desenhar linhas, formas de estrutura de tópicos ou processamento de outras representações geométricas.

  • O Brush classe — usado para preencher as áreas de elementos gráficos, como, por exemplo, as formas preenchidas, imagens ou texto.

  • O Font classe — fornece uma descrição de quais formas para usar ao processamento de texto.

  • O Color estrutura — representa as cores diferentes para exibição.

Para usar o objeto de elementos gráficos que você criou

Consulte também

Tarefas

Como: Processar imagens com GDI+

Outros recursos

Introdução à programação de gráficos

Elementos gráficos e desenho em formulários do Windows

Linhas, curvas e formas