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

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

L'uso della grafica prevede due passaggi:There are two steps in working with graphics:

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

  2. Utilizzo dell' Graphics oggetto per disegnare linee e forme, eseguire il rendering del testo o visualizzare e modificare le 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 Graphics 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

  • Ricevere un riferimento a un oggetto Graphics come parte di PaintEventArgs Paint nel caso di un form o di un controllo.Receive a reference to a graphics object as part of the PaintEventArgs in the Paint event of a form or control. Questo è in genere il modo in cui si ottiene un riferimento a un oggetto Graphics quando si crea il codice del disegno per un controllo.This is usually how you obtain a reference to a graphics object when creating painting code for a control. Analogamente, è anche possibile ottenere un oggetto Graphics come proprietà di PrintPageEventArgs quando si gestisce l' PrintPage evento per un PrintDocumentoggetto.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 di un form per ottenere un riferimento Graphics a un oggetto che rappresenta la superficie di disegno del controllo o del 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 creare in un form o in un controllo già esistente.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 ognuno di questi processi.The following sections give details about each of these processes.

PaintEventArgs nel gestore eventi PaintPaintEventArgs in the Paint Event Handler

Quando si programma PaintEventHandler per i controlli PrintPage o per un PrintDocument, un oggetto Graphics viene fornito 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 PaintTo obtain a reference to a Graphics object from the PaintEventArgs in the Paint event

  1. Dichiarare l' Graphics oggetto.Declare the Graphics object.

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

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

    Nell'esempio seguente viene illustrato come fare riferimento Graphics a un oggetto PaintEventArgs da nell' 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 il CreateGraphics metodo di un controllo o di un form per ottenere un riferimento Graphics a un oggetto che rappresenta la superficie di disegno del controllo o del 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 del 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();  
    

Crea da un oggetto ImageCreate from an Image Object

Inoltre, è possibile creare un oggetto Graphics da qualsiasi oggetto derivato 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 dalla quale 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 Graphics oggetti solo da file con estensione 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 di file con estensione bmp non indicizzati include un colore, a differenza dei pixel dei file con estensione BMP indicizzati, che contengono un indice in 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

Una volta creato, un Graphics oggetto può essere usato per disegnare linee e forme, eseguire 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 utilizzati con l' Graphics oggetto sono:The principal objects that are used with the Graphics object are:

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

  • Brush Classe, utilizzata per riempire aree di elementi grafici, ad esempio forme riempite, immagini o testo.The Brush class—Used for filling areas of graphics, such as filled shapes, images, or text.

  • La Font classe-fornisce una descrizione delle forme da usare per il rendering del testo.The Font class—Provides a description of what shapes to use when rendering text.

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

Per utilizzare l'oggetto Graphics creatoTo use the Graphics object you have created

Vedere ancheSee also