Procedimiento para crear objetos gráficos para dibujarHow to: Create Graphics Objects for Drawing

Antes de poder dibujar líneas y formas, representar texto o mostrar y manipular imágenes con GDI+, debe crear un Graphics objeto.Before you can draw lines and shapes, render text, or display and manipulate images with GDI+, you need to create a Graphics object. El Graphics objeto representa una superficie de dibujo de GDI+ y es el objeto que se utiliza para crear imágenes gráficas.The Graphics object represents a GDI+ drawing surface, and is the object that is used to create graphical images.

Hay dos pasos para trabajar con gráficos:There are two steps in working with graphics:

  1. Crear un Graphics objeto.Creating a Graphics object.

  2. Usar el Graphics objeto para dibujar líneas y formas, representar texto o mostrar y manipular imágenes.Using the Graphics object to draw lines and shapes, render text, or display and manipulate images.

Crear un objeto GraphicsCreating a Graphics Object

Un objeto de gráficos se puede crear de varias maneras.A graphics object can be created in a variety of ways.

Para crear un objeto GraphicsTo create a graphics object

  • Recibe una referencia a un objeto Graphics como parte de PaintEventArgs en el Paint caso de un formulario o un control.Receive a reference to a graphics object as part of the PaintEventArgs in the Paint event of a form or control. Normalmente, este es el modo en que se obtiene una referencia a un objeto Graphics al crear código de dibujo para un control.This is usually how you obtain a reference to a graphics object when creating painting code for a control. Del mismo modo, también puede obtener un objeto de gráficos como una propiedad PrintPageEventArgs de cuando controla PrintPage el evento para PrintDocumentun.Similarly, you can also obtain a graphics object as a property of the PrintPageEventArgs when handling the PrintPage event for a PrintDocument.

    -o bien--or-

  • 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.Call the CreateGraphics method of a control or form to obtain a reference to a Graphics object that represents the drawing surface of that control or form. Utilice este método si desea dibujar en un formulario o control que ya existe.Use this method if you want to draw on a form or control that already exists.

    -o bien--or-

  • Cree un Graphics objeto a partir de cualquier objeto que herede Imagede.Create a Graphics object from any object that inherits from Image. Este enfoque es útil cuando se desea modificar una imagen ya existente.This approach is useful when you want to alter an already existing image.

    En las secciones siguientes se proporcionan detalles sobre cada uno de estos procesos.The following sections give details about each of these processes.

PaintEventArgs en el controlador de eventos PaintPaintEventArgs in the Paint Event Handler

Al programar el PaintEventHandler para los controles de PrintPage o para PrintDocument, se proporciona un objeto de gráficos como una de las propiedades PaintEventArgs de PrintPageEventArgso.When programming the PaintEventHandler for controls or the PrintPage for a PrintDocument, a graphics object is provided as one of the properties of PaintEventArgs or PrintPageEventArgs.

Para obtener una referencia a un objeto Graphics desde PaintEventArgs en el evento PaintTo obtain a reference to a Graphics object from the PaintEventArgs in the Paint event

  1. Declare Graphics el objeto.Declare the Graphics object.

  2. Asigne la variable para hacer referencia al Graphics objeto que se pasa como parte PaintEventArgsde.Assign the variable to refer to the Graphics object passed as part of the PaintEventArgs.

  3. Inserte el código para pintar el formulario o el control.Insert code to paint the form or control.

    En el ejemplo siguiente se muestra cómo hacer Graphics referencia a un objeto Paint de en el evento: PaintEventArgsThe following example shows how to reference a Graphics object from the PaintEventArgs in the Paint event:

    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)CreateGraphics Method

También puede utilizar 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.You can also use the CreateGraphics method of a control or form to obtain a reference to a Graphics object that represents the drawing surface of that control or form.

Para crear un objeto Graphics con el método CreateGraphicsTo create a Graphics object with the CreateGraphics method

  • Llame al CreateGraphics método del formulario o control en el que desea representar los gráficos.Call the CreateGraphics method of the form or control upon which you want to render graphics.

    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 ImageCreate from an Image Object

Además, puede crear un objeto gráfico a partir de cualquier objeto que se derive de Image la clase.Additionally, you can create a graphics object from any object that derives from the Image class.

Para crear un objeto gráfico a partir de una imagenTo create a Graphics object from an Image

  • Llame al Graphics.FromImage método y proporcione el nombre de la variable de imagen de la que desea crear un Graphics objeto.Call the Graphics.FromImage method, supplying the name of the Image variable from which you want to create a Graphics object.

    En el ejemplo siguiente se muestra cómo usar Bitmap un objeto:The following example shows how to use a Bitmap object:

    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 16 bits, de 24 bits y de 32 bits. bmp.You can only create Graphics objects from nonindexed .bmp files, such as 16-bit, 24-bit, and 32-bit .bmp files. 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.Each pixel of nonindexed .bmp files holds a color, in contrast to pixels of indexed .bmp files, which hold an index to a color table.

Dibujar y manipular formas e imágenesDrawing and Manipulating Shapes and Images

Una vez creada, se puede Graphics usar un objeto para dibujar líneas y formas, representar texto o mostrar y manipular imágenes.After it is created, a Graphics object may be used to draw lines and shapes, render text, or display and manipulate images. Los objetos de entidad de seguridad que se Graphics usan con el objeto son:The principal objects that are used with the Graphics object are:

  • La Pen clase: se usa para dibujar líneas, esquematizar formas o representar otras representaciones geométricas.The Pen class—Used for drawing lines, outlining shapes, or rendering other geometric representations.

  • La Brush clase: se usa para rellenar áreas de gráficos, como formas rellenas, imágenes o texto.The Brush class—Used for filling areas of graphics, such as filled shapes, images, or text.

  • La Font clase: proporciona una descripción de las formas que se van a utilizar al representar texto.The Font class—Provides a description of what shapes to use when rendering text.

  • Color Estructura: representa los diferentes colores que se van a mostrar.The Color structure—Represents the different colors to display.

Para usar el objeto Graphics que ha creadoTo use the Graphics object you have created

Vea tambiénSee also