Procedura: creare oggetti Graphics per disegnareHow to: Create Graphics Objects for Drawing

Prima di poter creare linee e forme, il rendering del testo, visualizzare e modificare immagini con GDI+GDI+, è necessario creare un Graphics oggetto.Before you can draw lines and shapes, render text, or display and manipulate images with GDI+GDI+, you need to create a Graphics object. Il Graphics oggetto rappresenta un GDI+GDI+ superficie di disegno ed è l'oggetto che viene utilizzato per creare immagini grafiche.The Graphics object represents a GDI+GDI+ drawing surface, and is the object that is used to create graphical images.

Durante l'utilizzo di grafici sono disponibili due passaggi:There are two steps in working with graphics:

  1. Creazione di un Graphics oggetto.Creating a Graphics object.

  2. Utilizzo di Graphics oggetto disegnare linee e forme, il rendering del testo, o visualizzare e modificare immagini.Using the Graphics object to draw lines and shapes, render text, or display and manipulate images.

Creazione di un oggetto GraphicsCreating a Graphics Object

Può creare un oggetto graphics in diversi modi.A graphics object can be created in a variety of ways.

Per creare un oggetto graphicsTo create a graphics object

  • Ricevere un riferimento a un oggetto grafico come parte di PaintEventArgs nel Paint evento di un form o controllo.Receive a reference to a graphics object as part of the PaintEventArgs in the Paint event of a form or control. Si tratta in genere come ottenere un riferimento a un oggetto grafico durante la creazione di codice di disegno di un controllo.This is usually how you obtain a reference to a graphics object when creating painting code for a control. Analogamente, è possibile ottenere un oggetto graphics come proprietà del PrintPageEventArgs quando si gestisce il PrintPage evento per un PrintDocument.Similarly, you can also obtain a graphics object as a property of the PrintPageEventArgs when handling the PrintPage event for a PrintDocument.

    oppure-or-

  • Chiamare il CreateGraphics metodo di un controllo o un form per ottenere un riferimento a un Graphics oggetto che rappresenta l'area di disegno di tale controllo o un form.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. Utilizzare questo metodo se si desidera disegnare su un form o controllo che esiste già.Use this method if you want to draw on a form or control that already exists.

    oppure-or-

  • Creare un Graphics oggetto da qualsiasi oggetto che eredita da Image.Create a Graphics object from any object that inherits from Image. Questo approccio è utile quando si desidera modificare un'immagine già esistente.This approach is useful when you want to alter an already existing image.

    Le sezioni seguenti forniscono informazioni dettagliate su ciascuno di questi processi.The following sections give details about each of these processes.

PaintEventArgs nel gestore dell'evento PaintPaintEventArgs in the Paint Event Handler

Durante la programmazione di PaintEventHandler per i controlli o PrintPage per un PrintDocument, viene fornito un oggetto grafico come una delle proprietà di PaintEventArgs o PrintPageEventArgs.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.

Per ottenere un riferimento a un oggetto Graphics da PaintEventArgs nell'evento di disegnoTo obtain a reference to a Graphics object from the PaintEventArgs in the Paint event

  1. Dichiarare il Graphics oggetto.Declare the Graphics object.

  2. Assegnare la variabile per fare riferimento al Graphics oggetto passato come parte di PaintEventArgs.Assign the variable to refer to the Graphics object passed as part of the PaintEventArgs.

  3. Inserire il codice per disegnare il form o controllo.Insert code to paint the form or control.

    Nell'esempio seguente viene illustrato come fare riferimento a un Graphics dall'oggetto di PaintEventArgs nel Paint evento:The 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.  
       }  
    

Metodo CreateGraphicsCreateGraphics Method

È inoltre possibile utilizzare il CreateGraphics metodo di un controllo o un form per ottenere un riferimento a un Graphics oggetto che rappresenta l'area di disegno di tale controllo o un form.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.

Per creare un oggetto grafico con il metodo CreateGraphicsTo create a Graphics object with the CreateGraphics method

  • Chiamare il CreateGraphics metodo del form o controllo su cui si desidera eseguire il rendering di grafica.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();  
    

Il nome di un oggetto ImageCreate from an Image Object

Inoltre, è possibile creare un oggetto graphics da qualsiasi oggetto che deriva dalla Image classe.Additionally, you can create a graphics object from any object that derives from the Image class.

Per creare un oggetto Graphics da un'immagineTo create a Graphics object from an Image

  • Chiamare il Graphics.FromImage metodo, specificando il nome della variabile di immagine da cui si desidera creare un Graphics oggetto.Call the Graphics.FromImage method, supplying the name of the Image variable from which you want to create a Graphics object.

    Nell'esempio seguente viene illustrato come utilizzare un Bitmap oggetto: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

È possibile creare solo Graphics oggetti dai file BMP non indicizzati, ad esempio file con estensione bmp a 16 bit, a 24 bit e a 32 bit.You can only create Graphics objects from nonindexed .bmp files, such as 16-bit, 24-bit, and 32-bit .bmp files. Ogni pixel del file con estensione BMP non indicizzata contiene un colore, a differenza di pixel del file BMP indicizzati che contengono un indice per una tabella a colori.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.

-

Creazione e modifica di immagini e formeDrawing and Manipulating Shapes and Images

Dopo averlo creato, un Graphics oggetto può essere utilizzato per disegnare linee e forme, il rendering del testo, o visualizzare e modificare immagini.After it is created, a Graphics object may be used to draw lines and shapes, render text, or display and manipulate images. Gli oggetti principali utilizzati con il Graphics oggetto sono:The principal objects that are used with the Graphics object are:

  • La Pen classe, utilizzati per disegno di linee, tracciare forme o per il rendering di altre rappresentazioni geometriche.The Pen class—Used for drawing lines, outlining shapes, or rendering other geometric representations.

  • La Brush classe, utilizzata per riempire le aree di grafica, ad esempio testo, immagini o forme piene.The Brush class—Used for filling areas of graphics, such as filled shapes, images, or text.

  • La Font classe, viene fornita una descrizione delle forme da utilizzare durante il rendering di testo.The Font class—Provides a description of what shapes to use when rendering text.

  • Il Color struttura, ovvero rappresenta i diversi colori da visualizzare.The Color structure—Represents the different colors to display.

Utilizzare l'oggetto di grafica che è stato creatoTo use the Graphics object you have created

Vedere ancheSee Also

Introduzione alla programmazione graficaGetting Started with Graphics Programming
Grafica e disegno in Windows FormGraphics and Drawing in Windows Forms
Linee, curve e formeLines, Curves, and Shapes
Procedura: Eseguire il rendering delle immagini con GDI+How to: Render Images with GDI+