Crea, carica, riempi e disegna bitmap in C#

Una bitmap viene utilizzata per creare e memorizzare grafica computerizzata. Le immagini bitmap sono ampiamente utilizzate su pagine Web e dispositivi digitali come fotocamere, smartphone, ecc. I tipi di file grafici bitmap più comuni sono BMP, GIF, PNG e JPEG. In questo articolo impareremo come creare una bitmap in C#.

In questo articolo saranno trattati i seguenti argomenti:

  1. API C# per creare, caricare, riempire e disegnare bitmap
  2. Crea una nuova bitmap da zero
  3. Crea una bitmap da un array di byte
  4. Salva bitmap come file immagine
  5. Disegna forme su bitmap
  6. Disegna testo su immagine bitmap
  7. Riempi una bitmap con tinta unita
  8. Carica un’immagine in bitmap
  9. Ridimensiona un’immagine esistente utilizzando Bitmap

API C# per creare, caricare, riempire e disegnare bitmap - Download gratuito

Per creare una bitmap, 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

Crea una nuova bitmap in C#

Possiamo creare una nuova bitmap da zero seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea una nuova bitmap utilizzando la classe Bitmap con le dimensioni e il formato specificati.
  2. Successivamente, crea un nuovo oggetto Graphics dall’oggetto Bitmap utilizzando il metodo FromImage().
  3. Quindi, inizializza un oggetto di classe Pen con il colore e le dimensioni specificati.
  4. Successivamente, chiama il metodo DrawEllipse() per disegnare un’ellisse con una dimensione specificata.
  5. Infine, salva l’immagine di output utilizzando il metodo Save().

L’esempio di codice seguente mostra come creare una nuova bitmap in C#.

// Questo esempio di codice illustra come creare una nuova bitmap a livello di codice in C#.
// Inizializza oggetto Bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Crea una nuova grafica
Graphics graphics = Graphics.FromImage(bitmap);

// Inizializza una penna
Pen pen = new Pen(Color.Red, 5);

// Disegna un rettangolo
graphics.DrawEllipse(pen, new Rectangle(0, 0, 700, 700));

// Salva il file
bitmap.Save(@"C:\Files\Drawings\output.png");
Crea-una-nuova-bitmap-in-CSharp

Crea una nuova bitmap in C#

Crea una bitmap da un array di byte in C#

Possiamo creare una bitmap dai byte del flusso di memoria seguendo i passaggi indicati di seguito:

  1. Legge il file immagine in un array di byte.
  2. Crea una nuova istanza di MemoryStream utilizzando l’oggetto matrice di byte.
  3. Crea una nuova bitmap utilizzando la classe Bitmap con l’oggetto MemoryStream.
  4. Infine, salva l’immagine usando il metodo Save().

L’esempio di codice seguente mostra come creare una bitmap da Byte Array usando MemoryStream in C#.

// Questo esempio di codice illustra come creare una nuova bitmap dai byte del flusso di memoria in C#.
// Carica l'immagine e leggi tutti i byte
var file = File.ReadAllBytes(@"C:\Files\Drawings\sample.jpg");

// Crea un flusso di memoria
MemoryStream stream = new MemoryStream(file);

// Crea una nuova bitmap
Bitmap bitmap = new Bitmap(stream);

// Salva il file
bitmap.Save(@"C:\Files\Drawings\output.jpg");

C# Salva bitmap in un file

Possiamo salvare l’immagine bitmap in un file in vari formati di file supportati seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo solo menzionare l’estensione del formato del file di salvataggio desiderato durante il salvataggio del file immagine utilizzando il metodo Save(string filename, ImageFormat format) nell’ultimo passaggio.

  • Salva una bitmap come file BMP
bitmap.Save(@"C:\Files\output.bmp", ImageFormat.Bmp);
  • Salva una bitmap come file PNG
bitmap.Save(@"C:\Files\output.png", ImageFormat.Png);
  • Salva una bitmap come file JPG
bitmap.Save(@"C:\Files\output.jpg", ImageFormat.Jpeg);
  • Salva una bitmap come file GIF
bitmap.Save(@"C:\Files\output.gif", ImageFormat.Gif);

C# Disegna su bitmap

Possiamo disegnare varie forme e immagini su una bitmap seguendo i passaggi menzionati in precedenza. Tuttavia, abbiamo solo bisogno di utilizzare i metodi specifici della forma per disegnare le forme desiderate.

Possiamo disegnare le seguenti forme utilizzando i metodi specifici forniti per disegnare su bitmap:

  • Arco: possiamo disegnare un arco usando il metodo DrawArc().
  • Bezier: Possiamo disegnare un Bezier usando il metodo DrawBezier().
  • Una serie di spline di Bézier: possiamo disegnare una serie di spline di Bezier usando il metodo DrawBeziers().
  • Curva: possiamo disegnare una forma curva usando il metodo DrawCurve().
  • ClosedCurve: Possiamo disegnare una curva chiusa usando il metodo DrawClosedCurve().
  • Ellisse: possiamo disegnare un’ellisse usando il metodo DrawEllipse().
  • Linea: possiamo disegnare una linea usando il metodo DrawLine().
  • Una serie di linee: possiamo disegnare una serie di linee usando il metodo DrawLines().
  • Percorso: possiamo disegnare un percorso usando il metodo DrawPath().
  • Torta: possiamo disegnare una torta usando il metodo DrawPie().
  • Poligono: possiamo disegnare un poligono usando il metodo DrawPolygon().
  • Rectangle: Possiamo disegnare un Rectangle usando il metodo DrawRectangle().
  • Una serie di rettangoli: possiamo disegnare una serie di rettangoli usando il metodo DrawRectangles().

Possiamo disegnare le immagini sulla bitmap utilizzando i seguenti metodi:

  • Icona: possiamo disegnare l’immagine rappresentata dall’icona specificata all’interno dell’area specificata da una struttura Rectangle usando il metodo DrawIcon().
  • Immagine: possiamo disegnare qualsiasi immagine specificata utilizzando il metodo DrawImage().

C# Disegna testo su bitmap

Possiamo disegnare qualsiasi stringa su una bitmap seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea una nuova bitmap utilizzando la classe Bitmap con la dimensione specificata.
  2. Successivamente, crea un nuovo oggetto Graphics dall’oggetto Bitmap utilizzando il metodo FromImage().
  3. Quindi, definisci un oggetto di classe Font con la famiglia, lo stile e la dimensione del font desiderati.
  4. Nel frattempo, inizializza un oggetto SolidBrush con il colore specificato.
  5. Successivamente, chiama il metodo DrawString() con il testo da mostrare, gli oggetti Font e Brush come argomenti.
  6. Infine, salva l’immagine di output utilizzando il metodo Save().

L’esempio di codice seguente mostra come disegnare testo su una bitmap in C#.

// Questo esempio di codice illustra come disegnare un testo su una nuova bitmap a livello di codice in C#.
// Inizializza oggetto Bitmap
Bitmap bitmap = new Bitmap(500,200);

// Crea una nuova grafica
Graphics graphics = Graphics.FromImage(bitmap);

// Inizializza un carattere
var font = new Font(FontFamily.GenericSerif, 40f, FontStyle.Bold);

// Inizializza un pennello
var brush = new SolidBrush(Color.Red);

// Disegna un rettangolo
graphics.DrawString("Welcome to Bitmap!", font, brush, 10, 20);

// Salva il file
bitmap.Save(@"C:\Files\Drawings\output.png", ImageFormat.Png);
C# Disegna testo su bitmap

C# Disegna testo su bitmap

Riempi una bitmap con tinta unita in C#

Possiamo riempire una bitmap con un colore solido utilizzando un rettangolo pieno e salvarlo in una nuova bitmap seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea una nuova bitmap utilizzando la classe Bitmap con la dimensione specificata.
  2. Successivamente, crea un nuovo oggetto Graphics dall’oggetto Bitmap utilizzando il metodo FromImage().
  3. Quindi, inizializza un oggetto di classe Rectangle con la posizione e le dimensioni specificate.
  4. Successivamente, chiama il metodo FillRectangle() con il colore del pennello e il Rectangle.
  5. Infine, salva l’immagine di output utilizzando il metodo Save().

L’esempio di codice seguente mostra come riempire una bitmap con un colore a tinta unita usando un rettangolo in C#.

// Questo esempio di codice illustra come creare una nuova bitmap con un rettangolo pieno in C#.
// Inizializza Bitmap con dimensione specificata
Bitmap bitmap = new Bitmap(500, 500);

// Crea una nuova grafica
Graphics graph = Graphics.FromImage(bitmap);

// Definisci un rettangolo
Rectangle ImageSize = new Rectangle(0, 0, 500, 500);

// Disegna un rettangolo pieno
graph.FillRectangle(Brushes.Gray, ImageSize);

// Salva il file
bitmap.Save(@"C:\Files\Drawings\output.png");
C# Disegna su bitmap e riempi con rettangolo

C# Disegna un rettangolo su una bitmap e riempilo con un colore

Carica un’immagine in Bitmap usando C#

Possiamo anche caricare un’immagine esistente in una bitmap e salvarla come nuova bitmap seguendo i passaggi indicati di seguito:

  1. Innanzitutto, carica un’immagine usando la classe Bitmap.
  2. Successivamente, crea una nuova bitmap utilizzando la classe Bitmap con la dimensione specificata.
  3. Quindi, crea un nuovo oggetto Graphics dall’oggetto Bitmap appena creato utilizzando il metodo FromImage().
  4. Successivamente, chiama il metodo DrawImage() con l’immagine e le coordinate della posizione come argomenti.
  5. Infine, salva l’immagine di output utilizzando il metodo Save().

L’esempio di codice seguente mostra come caricare un’immagine in una bitmap usando C#.

// Questo esempio di codice illustra come caricare un'immagine in una bitmap e salvarla come nuova bitmap.
// Carica l'immagine:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");

// Inizializza Bitmap con dimensione specificata
Bitmap bitmap = new Bitmap(1000, 1000);

// Crea una nuova grafica
Graphics graphics = Graphics.FromImage(bitmap);

// Disegna l'immagine nella posizione specificata
graphics.DrawImage(image, 10, 10);

// Salva il file
bitmap.Save(@"C:\Files\Drawings\output.png");
Carica-un-immagine-in-Bitmap-utilizzando-CSharp

Carica un’immagine in Bitmap usando C#

Come ridimensionare l’immagine usando Bitmap in C#

Possiamo caricare e ridimensionare un’immagine esistente in una bitmap e salvarla come nuova bitmap seguendo i passaggi indicati di seguito:

  1. Carica un’immagine esistente utilizzando la classe Bitmap.
  2. Crea una nuova bitmap utilizzando la classe Bitmap con l’immagine caricata e le dimensioni specificate.
  3. Infine, salva l’immagine di output utilizzando il metodo Save().

L’esempio di codice seguente mostra come ridimensionare un’immagine esistente e salvarla come nuova bitmap in C#.

// Questo esempio di codice illustra come ridimensionare un'immagine esistente e creare una nuova bitmap in C#.
// Carica l'immagine:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");

// Crea una nuova bitmap della metà delle dimensioni dell'immagine caricata:
Bitmap bitmap = new Bitmap(image, (int)(image.Width * 0.5), (int)(image.Height * 0.5));

// Salva il file
bitmap.Save(@"C:\Files\Drawings\output.jpg");
Come ridimensionare l'immagine usando Bitmap in C#

Ridimensiona l’immagine esistente usando C#

Ottieni una licenza temporanea gratuita

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

Conclusione

In questo articolo abbiamo imparato a:

  • creare una nuova bitmap;
  • disegnare un rettangolo, un’ellisse, ecc. su una bitmap;
  • caricare un’immagine esistente;
  • ridimensionare un’immagine esistente e creare una nuova bitmap con una nuova dimensione;
  • salvare un’immagine Bitmap da MemoryStream o un array di byte in un file;
  • impostare una larghezza e un’altezza di una bitmap in C#.

Oltre a creare una nuova bitmap in C#, puoi saperne di più su Aspose.Drawing for .NET utilizzando documentation ed esplorare varie funzionalità supportate dall’API. In caso di qualsiasi ambiguità, non esitate a contattarci sul nostro forum di supporto gratuito.

Guarda anche