Compartir a través de


Cómo: Crear objetos gráficos para dibujar

Para poder dibujar líneas y formas, representar texto o mostrar y manipular imágenes con GDI+, debe crear un Graphics objeto . El Graphics objeto representa una superficie de dibujo GDI+ y es el objeto que se usa para crear imágenes gráficas.

Hay dos pasos para trabajar con gráficos:

  1. Creación de un Graphics objeto .

  2. Usar el Graphics objeto para dibujar líneas y formas, representar texto o mostrar y manipular imágenes.

Crear un objeto gráfico

Se puede crear un objeto gráfico de varias maneras.

Para crear un objeto gráfico

  • Reciba una referencia a un objeto gráfico como parte de PaintEventArgs en caso Paint de un formulario o control. Esto suele ser la forma en que se obtiene una referencia a un objeto gráfico al crear código de pintura para un control. Del mismo modo, también puede obtener un objeto gráfico como una propiedad de PrintPageEventArgs al controlar el PrintPage evento de un PrintDocument.

    -o-

  • Llame al CreateGraphics método de un control o formulario para obtener una referencia a un Graphics objeto que representa la superficie de dibujo de ese control o formulario. Use este método si desea dibujar en un formulario o control que ya existe.

    -o-

  • Cree un Graphics objeto a partir de cualquier objeto que herede de Image. Este enfoque es útil cuando se desea modificar una imagen ya existente.

    En las secciones siguientes se proporcionan detalles sobre cada uno de estos procesos.

PaintEventArgs en el controlador de eventos paint

Al programar para PaintEventHandler controles o PrintPage para , PrintDocumentse proporciona un objeto gráfico como una de las propiedades de PaintEventArgs o PrintPageEventArgs.

Para obtener una referencia a un objeto Graphics de PaintEventArgs en el evento Paint

  1. Declare el Graphics objeto .

  2. Asigne la variable para hacer referencia al objeto Graphics pasado como parte del PaintEventArgs.

  3. Inserte código para pintar el formulario o el control.

    En el ejemplo siguiente se muestra cómo hacer referencia a Graphics un objeto desde el PaintEventArgs en el 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.
       }
    

CreateGraphics Método

También puede usar el CreateGraphics método de un control o formulario para obtener una referencia a un Graphics objeto que representa la superficie de dibujo de ese control o formulario.

Para crear un objeto Graphics con el método CreateGraphics

  • Llame al método de CreateGraphics en el formulario o control en el que desea representar 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();
    

Crear a partir de un objeto imagen

Además, puede crear un objeto gráfico a partir de cualquier objeto que derive de la Image clase .

Para crear un objeto Graphics a partir de una imagen

  • Llame al Graphics.FromImage método y proporcione el nombre de la variable Image desde la que desea crear un Graphics objeto.

    En el ejemplo siguiente se muestra cómo usar un 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);
    

Nota:

Solo puede crear Graphics objetos a partir de archivos .bmp no indexados, como archivos de .bmp de 16 bits, 24 y 32 bits. Cada píxel de archivos .bmp no indexados contiene un color, en contraste con los píxeles de los archivos .bmp indexados, que contienen un índice en una tabla de colores.

Dibujar y manipular formas e imágenes

Una vez creado, se puede usar un Graphics objeto para dibujar líneas y formas, representar texto o mostrar y manipular imágenes. Los objetos principales que se usan con el objeto Graphics son:

  • La Pen clase : se usa para dibujar líneas, esquematizar formas o representar otras representaciones geométricas.

  • La Brush clase : se usa para rellenar áreas de gráficos, como formas rellenadas, imágenes o texto.

  • La Font clase : proporciona una descripción de las formas que se van a usar al representar texto.

  • Estructura Color : representa los distintos colores que se van a mostrar.

Para usar el objeto Graphics que ha creado

Consulte también