Programmazione grafica in C#

La programmazione grafica in C# potrebbe sembrare più semplice o più difficile di quanto si possa pensare. In questo articolo imparerai come creare una grafica vettoriale straordinaria a livello di codice. Sia che tu stia creando grafica come parte del tuo progetto attuale o come base del tuo gioco o app! Imparerai a creare immagini meravigliose con facilità. Iniziamo!

In questo articolo verranno trattati i seguenti argomenti:

  1. API di programmazione grafica vettoriale C#
  2. La struttura di una grafica vettoriale
  3. Programmazione grafica utilizzando C#
  4. Curve nella programmazione grafica
  5. Poligoni e rettangoli
  6. Come disegnare linee
  7. Come disegnare percorsi
  8. Disegna una regione di riempimento

API di programmazione grafica vettoriale C# - Download gratuito

Per creare una grafica vettoriale straordinaria in C#, utilizzeremo l’API Aspose.Drawing for .NET. È una libreria grafica 2D multipiattaforma per disegnare testo, geometrie e immagini in modo programmatico. Consente di caricare, salvare e manipolare i formati di file supportati.

Si prega di scaricare la DLL dell’API o installarla utilizzando NuGet.

PM> Install-Package Aspose.Drawing

La struttura di una grafica vettoriale

La grafica vettoriale è composta da forme geometriche: linee, curve e percorsi. Questi oggetti, con varie proprietà come lunghezza e colore, possono essere manipolati da un programma C#.

Programmazione grafica con C#

Possiamo dipingere o disegnare vari tipi di forme tra cui curve, linee, rettangoli, regioni piene, ellissi e poligoni. L’API fornisce vari metodi per disegnare queste forme. Possiamo creare una varietà di grafica vettoriale diversa in modo programmatico seguendo i passaggi indicati di seguito:

  1. Crea un oggetto della classe Bitmap.
  2. Inizializza un oggetto della classe Graphics dalla bitmap.
  3. Definire un oggetto di classe Pen o SolidBrush con i parametri desiderati.
  4. Utilizzare i metodi specifici della forma della classe Graphics per disegnare le forme desiderate.
  5. Alla fine, salva l’immagine.

Ora, vediamo come eseguire questi passaggi in C#.

Curve nella programmazione grafica utilizzando C#

Possiamo disegnare archi, cerchi, ellissi o curve chiuse usando i seguenti metodi:

  • DrawArc() per disegnare un arco.
  • DrawEllipse() per disegnare un’ellisse.
  • DrawClosedCurve() per disegnare una curva chiusa.
  • DrawCurve() per disegnare una curva.

Si prega di seguire i passaggi indicati di seguito per disegnare una forma curva:

  1. Innanzitutto, crea un’istanza della classe Bitmap.
  2. Quindi, crea l’oggetto della classe Graphics utilizzando il metodo FromImage() dall’oggetto Bitmap appena creato.
  3. Quindi, definisci un oggetto di classe Pen con il colore e la dimensione specificati.
  4. Dopodiché, chiama il metodo DrawClosedCurve() per disegnare una curva chiusa.
  5. Facoltativamente, ripeti i passaggi precedenti per aggiungere un arco e un’ellisse.
  6. Infine, salva l’immagine di output usando il metodo Save().

Nell’esempio di codice seguente viene illustrato come disegnare forme curve in C#.

// Questo esempio di codice mostra come disegnare una curva, un arco e un cerchio chiusi.
// Crea una bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Iniziale grafica da bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Definisci una penna per disegnare
Pen penBlue = new Pen(Color.Blue, 4);

// Disegna una curva
graphics.DrawClosedCurve(penBlue, new Point[] { new Point(10, 700), new Point(250, 500), new Point(500, 10), new Point(750, 500), new Point(990, 700) });

// Disegna un arco
Pen penRed = new Pen(Color.Red, 2);
graphics.DrawArc(penRed, 0, 0, 700, 700, 0, 180);

// Disegna un'ellisse
Pen penGreen = new Pen(Color.Green, 2);
graphics.DrawEllipse(penGreen, 10, 10, 500, 500);

// Salva la bitmap come PNG
bitmap.Save("C:\\Files\\Drawing\\Curves.png");
Curve nella programmazione grafica utilizzando C#

Curve nella programmazione grafica utilizzando C#

Poligoni e rettangoli nella programmazione grafica utilizzando C#

Possiamo disegnare poligoni e rettangoli seguendo i passaggi menzionati in precedenza. Tuttavia, è necessario utilizzare i seguenti metodi nel passaggio n. 4:

  • DrawPolygon() per disegnare un poligono.
  • DrawRectangle() per disegnare un rettangolo.

Nell’esempio di codice seguente viene illustrato come disegnare poligoni e rettangoli in C#.

// Questo esempio di codice mostra come disegnare un poligono e un rettangolo.
// Crea una bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Iniziale grafica da bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Definisci una penna per disegnare
Pen penBlue = new Pen(Color.Blue, 4);

// Disegna un poligono
graphics.DrawPolygon(pen, new Point[] { new Point(100, 100), new Point(500, 700), new Point(900, 100) });

// Disegna un rettangolo
Pen penRed = new Pen(Color.Red, 2);
graphics.DrawRectangle(penRed, 10, 10, 900, 700);

// Salva la bitmap come PNG
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
Carica-un-immagine-in-Bitmap-usando-CSharp

Carica un’immagine in bitmap usando C#

Righe nella programmazione grafica utilizzando C#

Allo stesso modo, possiamo tracciare linee seguendo i passaggi menzionati in precedenza. Tuttavia, è necessario utilizzare il metodo DrawLine() nel passaggio n. 4 per tracciare una linea.

Nell’esempio di codice seguente viene illustrato come disegnare linee in C#.

// Questo esempio di codice mostra come disegnare una linea.
// Crea una bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Iniziale grafica da bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Definisci una penna per disegnare
Pen penBlue = new Pen(Color.Blue, 4);

// Tracciare linee
graphics.DrawLine(pen, 10, 700, 500, 10);
graphics.DrawLine(pen, 500, 10, 990, 700);

// Salva la bitmap come PNG
bitmap.Save("C:\\Files\\Drawing\\Lines.png");
Righe nella programmazione grafica utilizzando C#

Righe nella programmazione grafica utilizzando C#

Percorsi nella programmazione grafica utilizzando C#

Nella grafica vettoriale, un percorso rappresenta una serie di linee rette lisce definite da un punto iniziale e finale, insieme ad altri punti. Possiamo tracciare un percorso seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza della classe Bitmap.
  2. Quindi, inizializza l’oggetto della classe Graphics dall’oggetto Bitmap appena creato utilizzando il metodo FromImage().
  3. Quindi, definisci un oggetto di classe Pen con il colore e la dimensione specificati.
  4. Quindi, crea un’istanza della classe GraphicsPath.
  5. Quindi, aggiungi le righe usando il metodo AddLine().
  6. Successivamente, chiama il metodo DrawPath() con gli oggetti Pen e GraphicsPath.
  7. Infine, salva l’immagine di output usando il metodo Save().

Nell’esempio di codice seguente viene illustrato come disegnare un percorso in C#.

// Questo esempio di codice mostra come disegnare un Path.
// Crea una bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Iniziale grafica da bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Definisci una penna per disegnare
Pen penBlue = new Pen(Color.Blue, 4);

// Inizializza percorso grafico
GraphicsPath path = new GraphicsPath();

// Aggiungi la riga 1
path.AddLine(100, 100, 1000, 400);

// Aggiungi la riga 2
path.AddLine(1000, 600, 300, 600);

// Aggiungi rettangolo
path.AddRectangle(new Rectangle(500, 350, 200, 400));

// Aggiungi ellisse
path.AddEllipse(10, 250, 450, 300);

// Disegna un percorso
graphics.DrawPath(pen, path);

// Salva la bitmap come PNG
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
Percorsi nella programmazione grafica utilizzando C#

Percorsi nella programmazione grafica utilizzando C#

Riempi la regione nella programmazione grafica usando C#

Possiamo disegnare una regione di riempimento seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza della classe Bitmap.
  2. Quindi, inizializza l’oggetto della classe Graphics dall’oggetto Bitmap appena creato utilizzando il metodo FromImage().
  3. Quindi, crea un’istanza della classe GraphicsPath.
  4. Nel frattempo, aggiungi un poligono usando il metodo AddPolygon().
  5. Quindi, crea un’istanza della classe Region.
  6. Quindi, aggiungi un altro oggetto GraphicsPath e aggiungi un rettangolo usando il metodo AddRectangle().
  7. Quindi, chiama il metodo Exclude() per escludere il percorso interno dalla regione.
  8. Quindi, definisci un oggetto di classe SolidBrush con il colore specificato.
  9. Successivamente, chiama il metodo FillRegion() con oggetti SolidBrush e GraphicsPath.
  10. Infine, salva l’immagine di output usando il metodo Save().

Nell’esempio di codice seguente viene illustrato come disegnare un’area riempita in C#.

// Questo esempio di codice mostra come disegnare una regione.
// Crea una bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Iniziale grafica da bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Aggiungi un poligono
path.AddPolygon(new Point[] { new Point(100, 400), new Point(500, 100), new Point(900, 400), new Point(500, 700) });

// Inizializza una regione
Region region = new Region(path);

// Percorso grafico interno
GraphicsPath innerPath = new GraphicsPath();

// Aggiungi un rettangolo
innerPath.AddRectangle(new Rectangle(300, 300, 400, 200));

// Escludi il percorso interiore
region.Exclude(innerPath);

// Definisci un pennello solido
Brush brush = new SolidBrush(Color.Blue);

// Riempi la regione
graphics.FillRegion(brush, region);

// Salva la bitmap come PNG
bitmap.Save("C:\\Files\\Drawing\\Lines.png");
Riempi la regione nella programmazione grafica usando C#

Riempi la regione nella programmazione grafica usando C#

Ottieni una licenza temporanea gratuita

Puoi ottenere una licenza temporanea gratuita per provare Aspose.Drawing per .NET senza limitazioni di valutazione.

Conclusione

In questo articolo abbiamo imparato a:

  • creare una nuova bitmap;
  • disegnare rettangolo, ellisse, ecc. su una bitmap;
  • traccia linee e percorsi;
  • salva un’immagine bitmap come PNG in C#.

Oltre alla programmazione grafica in C#, puoi saperne di più su Aspose.Drawing per .NET usando documentazione ed esplorare varie funzionalità supportate dall’API. In caso di ambiguità, non esitare a contattarci sul nostro forum di supporto gratuito.

Guarda anche