disegnare-testo-immagine-csharp

Vediamo o creiamo molte immagini per informazioni visive. A volte è necessario aggiungere o disegnare del testo su un’immagine in modo tale che nessun altro possa modificare quel testo. La filigrana dell’immagine è uno degli esempi più comuni. Allo stesso modo, anche l’etichettatura o la revisione delle immagini potrebbe richiedere il disegno del testo. Esploriamo gli ulteriori usi del disegno di testo sulle immagini:

Aggiungi, inserisci o disegna testo formattato sull’immagine: installazione dell’API C#

L’API Aspose.Drawing for .NET è una libreria grafica 2D compatibile con il pacchetto System.Drawing. Supporta il rendering di rettangoli, curve, linee, testo e altri elementi grafici sulle immagini. Non dipende da alcuna libreria di terze parti, quindi può essere utilizzato in qualsiasi ambiente. Ad esempio, può anche essere usato per eseguire il rendering di elementi grafici in Linux o Funzioni di Azure V2 in cui la libreria System.Drawing non è supportata. Puoi installare Aspose.Drawing per l’API .NET scaricandolo dalla sezione Download o tramite il seguente comando di installazione:

PM> Install-Package Aspose.Drawing

Disegna testo come filigrana su un’immagine esistente a livello di codice usando C#

La filigrana di testo sull’immagine viene spesso utilizzata per mostrare la proprietà, l’affiliazione o lo scopo dell’immagine. Puoi aggiungere o disegnare del testo come filigrana su un’immagine esistente con i seguenti passaggi:

  1. Carica l’immagine di input esistente
  2. Inizializza l’oggetto classe Grafica.
  3. Imposta la formattazione del testo e il testo
  4. Disegna il testo
  5. Salva immagine di output

Il codice seguente mostra come disegnare il testo come filigrana sull’immagine esistente a livello di codice usando C#:

// Carica l'immagine di input esistente
Bitmap bitmap = new Bitmap(dataDir + @"Test.png");

// Inizializza l'oggetto della classe Graphics
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
Brush brush = new SolidBrush(Color.FromKnownColor(KnownColor.Black));

// Dichiara il pennello mentre specifichi il colore
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 1);

// Imposta il carattere del testo
Font arial = new Font("Arial", 20, FontStyle.Regular);

// Imposta testo
string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sapien tellus, mattis et condimentum eget, commodo ut ipsum. Maecenas elit sapien, tempus sit amet mauris sit amet, hendrerit laoreet nisi. Nulla facilisi. Sed commodo, mauris eget porta commodo, nunc tellus volutpat mi, eu auctor diam libero vel neque. Vestibulum nec mattis dui, nec molestie nisl. Etiam in magna felis. Praesent non nulla tortor. Integer nec convallis purus. Fusce vitae mollis mauris. Cras efficitur dui at mi viverra scelerisque. Morbi quis magna elit. Nulla facilisis id ante sit amet fringilla. Sed iaculis consectetur lectus a interdum. Etiam ut sollicitudin lectus, et congue lectus.";
Rectangle rectangle = new Rectangle(100, 100, 800, 600);
graphics.DrawRectangle(pen, rectangle);

// Disegna il testo
graphics.DrawString(text, arial, brush, rectangle);

// Salva immagine di output
bitmap.Save(RunExamples.GetDataDir() + @"TextFonts\DrawText_out.png");

Disegna testo su una nuova immagine da zero a livello di codice in C#

Potrebbe essere necessario disegnare del testo in formato immagine per scopi diversi. Ad esempio, potresti voler impedire ad altri di modificare o copiare il contenuto del testo. È necessario seguire i seguenti passaggi per disegnare il testo su una nuova immagine:

  1. Inizializza la nuova immagine da zero
  2. Inizializza l’oggetto classe Brush.
  3. Imposta lo stile del carattere, la dimensione, ecc.
  4. Disegna il testo on the image
  5. Salva immagine di output

Il frammento di codice seguente mostra come disegnare il testo su una nuova immagine da zero a livello di codice usando il linguaggio C#:

// Inizializza la nuova immagine da zero
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
graphics.Clear(Color.FromKnownColor(KnownColor.White));

// Inizializza l'oggetto della classe Brush
Brush brush = new SolidBrush(Color.FromKnownColor(KnownColor.Black));
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 1);

// Imposta lo stile del carattere, la dimensione, ecc.
Font arial = new Font("Arial", 20, FontStyle.Regular);
string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sapien tellus, mattis et condimentum eget, commodo ut ipsum. Maecenas elit sapien, tempus sit amet mauris sit amet, hendrerit laoreet nisi. Nulla facilisi. Sed commodo, mauris eget porta commodo, nunc tellus volutpat mi, eu auctor diam libero vel neque. Vestibulum nec mattis dui, nec molestie nisl. Etiam in magna felis. Praesent non nulla tortor. Integer nec convallis purus. Fusce vitae mollis mauris. Cras efficitur dui at mi viverra scelerisque. Morbi quis magna elit. Nulla facilisis id ante sit amet fringilla. Sed iaculis consectetur lectus a interdum. Etiam ut sollicitudin lectus, et congue lectus.";
Rectangle rectangle = new Rectangle(100, 100, 800, 600);
graphics.DrawRectangle(pen, rectangle);

// Disegna il testo sull'immagine
graphics.DrawString(text, arial, brush, rectangle);

// Salva immagine di output
bitmap.Save(RunExamples.GetDataDir() + @"TextFonts\DrawText_out.png");

Conclusione

In questo articolo, abbiamo imparato come aggiungere o disegnare testo sulle immagini. Puoi disegnare da zero una filigrana di testo in immagini esistenti e nuove senza dover installare alcuna applicazione di terze parti. Inoltre, puoi elaborare molti formati di immagine tra cui JPG, PNG, BMP, Icon, Tiff, ecc. L’API offre diverse funzionalità per l’elaborazione di disegni e grafica secondo le tue esigenze. Puoi visitare il Progetto di esempio che abbiamo progettato come vetrina per diversi scenari. Non esitare a contattarci in qualsiasi momento tramite i Forum di supporto gratuito in caso di dubbi. Saluti!

Guarda anche

Info: Aspose ha recentemente sviluppato un Convertitore da testo a GIF GRATUITO.