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

Prima di poter creare linee e forme, il rendering del testo, o visualizzare e manipolare 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 usato per creare immagini grafiche.The Graphics object represents a GDI+GDI+ drawing surface, and is the object that is used to create graphical images.

Nell'utilizzo dei grafici sono disponibili due passaggi:There are two steps in working with graphics:

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

  2. Uso di Graphics oggetto per tracciare linee e forme, il rendering del testo, o visualizzare e manipolare 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

Un oggetto grafico può essere creato in diversi modi.A graphics object can be created in a variety of ways.

Per creare un oggetto graphicsTo create a graphics object

  • Riceve un riferimento a un oggetto grafico come parte del PaintEventArgs nella Paint eventi 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 si ottiene un riferimento a un oggetto grafico durante la creazione di codice di disegno per un controllo.This is usually how you obtain a reference to a graphics object when creating painting code for a control. Allo stesso modo, è possibile ottenere un oggetto grafico come una proprietà del PrintPageEventArgs quando si gestiscono le 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 form per ottenere un riferimento a un Graphics oggetto che rappresenta la superficie di disegno di tale controllo o 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. Usare questo metodo se si desidera disegnare su un form o controllo già esistente.Use this method if you want to draw on a form or control that already exists.

    oppure-or-

  • Creare un Graphics oggetti 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 ognuno 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 il PrintPage per un PrintDocument, un oggetto graphics viene fornito come una delle proprietà della 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 grafico da PaintEventArgs l'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 il Graphics oggetto passato come parte di PaintEventArgs.Assign the variable to refer to the Graphics object passed as part of the PaintEventArgs.

  3. Inserire 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

È anche possibile usare la CreateGraphics metodo di un controllo o form per ottenere un riferimento a un Graphics oggetto che rappresenta la superficie di disegno di tale controllo o 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 Graphics 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 della 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();  
    

La creazione di un oggetto immagineCreate from an Image Object

Inoltre, è possibile creare un oggetto graphics da qualsiasi oggetto che deriva dal 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 indicizzata, ad esempio i file con estensione bmp a 16, 24 bit e 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 dei pixel dei file BMP indicizzata che contengono un indice a una tabella dei 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 forme e immaginiDrawing 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 le 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 principal che vengono usati con il Graphics oggetto sono:The principal objects that are used with the Graphics object are:

  • Il Pen classe, usato per tracciare linee, la struttura di forme o altre rappresentazioni geometriche di rendering.The Pen class—Used for drawing lines, outlining shapes, or rendering other geometric representations.

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

  • Il 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 colori diversi per la visualizzazione.The Color structure—Represents the different colors to display.

Usare l'oggetto grafico è 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+