Procedura: creare oggetti Graphics per disegnare
Prima di poter disegnare linee e forme, eseguire il rendering di testo o visualizzare e modificare le immagini con GDI+, è necessario creare un Graphics oggetto . L'oggetto Graphics rappresenta una superficie di disegno GDI+ ed è l'oggetto utilizzato per creare immagini grafiche.
Esistono due passaggi per lavorare con la grafica:
Creazione di un Graphics oggetto .
Utilizzo dell'oggetto per disegnare linee e forme, eseguire il Graphics rendering di testo o visualizzare e modificare le immagini.
Creazione di un oggetto grafico
Un oggetto grafico può essere creato in diversi modi.
Per creare un oggetto grafico
Ricevere un riferimento a un oggetto grafico come parte di nell'evento PaintEventArgsPaint di una maschera o di un controllo. Questo è in genere il modo in cui si ottiene un riferimento a un oggetto grafico durante la creazione di codice di disegno per un controllo. Analogamente, è anche possibile ottenere un oggetto grafico come proprietà di PrintPageEventArgs quando si gestisce l'evento PrintPage per un oggetto PrintDocument.
-oppure-
Chiamare il CreateGraphics metodo di un controllo o di una maschera per ottenere un riferimento a un Graphics oggetto che rappresenta la superficie di disegno di tale controllo o maschera. Utilizzare questo metodo se si desidera disegnare su una maschera o un controllo già esistente.
-oppure-
Creare un Graphics oggetto da qualsiasi oggetto che eredita da Image. Questo approccio è utile quando si vuole modificare un'immagine già esistente.
Nelle sezioni seguenti vengono fornite informazioni dettagliate su ognuno di questi processi.
PaintEventArgs nel gestore eventi Paint
Quando si programma PaintEventHandler per i controlli o PrintPage per un PrintDocumentoggetto , un oggetto grafico viene fornito come una delle proprietà di PaintEventArgs o PrintPageEventArgs.
Per ottenere un riferimento a un oggetto Graphics da PaintEventArgs nell'evento Paint
Dichiarare l'oggetto Graphics .
Assegnare la variabile per fare riferimento all'oggetto Graphics passato come parte di PaintEventArgs.
Inserire il codice per disegnare la maschera o il controllo.
Nell'esempio seguente viene illustrato come fare riferimento a un Graphics oggetto da PaintEventArgs nell'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, metodo
È inoltre possibile utilizzare il CreateGraphics metodo di un controllo o di una maschera per ottenere un riferimento a un Graphics oggetto che rappresenta la superficie di disegno di tale controllo o maschera.
Per creare un oggetto Graphics con il metodo CreateGraphics
Chiamare il CreateGraphics metodo della maschera o del controllo su cui si desidera eseguire il rendering della grafica.
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 Image
Inoltre, è possibile creare un oggetto grafico da qualsiasi oggetto che deriva dalla Image classe .
Per creare un oggetto Graphics da un'immagine
Chiamare il Graphics.FromImage metodo specificando il nome della variabile Image da cui si vuole creare un Graphics oggetto.
Nell'esempio seguente viene illustrato come usare un Bitmap oggetto :
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. Ogni pixel di file con estensione bmp non indicizzata contiene un colore, a differenza dei pixel dei file con estensione bmp indicizzati, che contengono un indice in una tabella colori.
Disegno e modifica di forme e immagini
Dopo la creazione, è possibile utilizzare un Graphics oggetto per disegnare linee e forme, eseguire il rendering di testo o visualizzare e modificare le immagini. Gli oggetti principale utilizzati con l'oggetto Graphics sono:
Classe Pen utilizzata per disegnare linee, strutturare forme o eseguire il rendering di altre rappresentazioni geometriche.
Classe Brush : utilizzata per riempire aree di grafica, ad esempio forme riempite, immagini o testo.
Classe Font : fornisce una descrizione delle forme da utilizzare per il rendering del testo.
Struttura Color : rappresenta i diversi colori da visualizzare.
Per utilizzare l'oggetto Graphics creato
Utilizzare l'oggetto appropriato elencato in precedenza per disegnare ciò di cui hai bisogno.
Per ulteriori informazioni, vedi gli argomenti seguenti:
Per eseguire il rendering Vedere Righe Procedura: Disegnare una linea in un Windows Form Forme Procedura: Creare una forma con contorno Testo Procedura: Disegnare testo in un Windows Form Immagini Procedura: Eseguire il rendering delle immagini con GDI+
Vedi anche
.NET Desktop feedback