Procedimiento para 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 objeto Graphics. El objeto Graphics representa una superficie de dibujo GDI+ y es el objeto que se usa para crear imágenes gráficas.

Para trabajar con gráficos se deben realizar dos pasos:

  1. Crear un objeto Graphics.

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

Creación de un objeto gráfico

Un objeto gráfico se puede crear de varias maneras.

Creación de un objeto gráfico

  • Reciba una referencia a un objeto gráfico como parte de PaintEventArgs en el evento 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 dibujo para un control. Del mismo modo, también puede obtener un objeto gráfico como una propiedad de PrintPageEventArgs al controlar el evento PrintPage para un elemento PrintDocument.

    O bien

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

    O bien

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

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

PaintEventArgs en el controlador de eventos Paint

Al programar PaintEventHandlerpara controles o PrintPage para un elemento PrintDocument, se proporciona un objeto gráfico como una de las propiedades de PaintEventArgs o PrintPageEventArgs.

Obtención de una referencia a un objeto gráfico de PaintEventArgs en el evento Paint

  1. Declare el objeto Graphics.

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

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

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

CreateGraphics (método)

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

Creación de un objeto gráfico con el método CreateGraphics

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

Creación a partir de un objeto de imagen

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

Creación de un objeto gráfico a partir de una imagen

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

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

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

Dibujo y manipulación de formas e imágenes

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

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

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

  • Clase Font: 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.

Uso del objeto gráfico creado

Consulte también