In questo esempio di codice del linguaggio di programmazione C#, vedremo come creare una scritta con colore gradiente dal blu al rosso, il tutto come nella figura precedente.
Utilizzeremo le classi presenti nello spazio dei nome "System.Drawing".
Il codice è utilizzato in un progetto di tipo Windows Application.
Inseriamo in alto, sopra ad ogni dichiarazione, lo spazio dei nomi per la grafica.
Di seguito si riporta il frammento di codice delle suddette operazioni.
C#
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
In una qualsiasi parte della form, sempre della classe form1, si crea una funzione, che passando due parametri, quali il testo da realizzare ed il nome del file, verrà realizzato la scritta.
Tramite la classi font, Rectangle, Bitmap e Graphics, si realizzerà il file grafico.
Si riporta qui di seguito il codice del linguaggio di programmazione C# delle suddette operazioni.
C#
public
void CreaImmagineGradiente(string testo, string nomeFile)
{
//Imposto larghezza ed altezza immagine
int larghezza = 700;
int altezza
= 100;
//Imposto il Font del testo
System.Drawing.Font font = new
System.Drawing.Font("Arial", 48, FontStyle.Bold);
//Rettangolo del testo
Rectangle rect = new Rectangle(0, 0, larghezza, altezza);
//Oggetto Bitmap per la gestione dell'immagine
using (Bitmap bitmap = new Bitmap(larghezza,
altezza))
{
//Oggetto di tipo Graphics per la creazione dell'immagine
using (Graphics graphics = Graphics.FromImage(bitmap))
{
// Imposto la qualità del rendering
graphics.SmoothingMode = SmoothingMode.AntiAlias;
graphics.TextRenderingHint
= System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
//Crea un situazione graduale del
tempo, un rettangolo con colore iniziale blu e colore finale rosso
using (LinearGradientBrush brush = new LinearGradientBrush(
rect,
Color.Blue,
Color.Red,
LinearGradientMode.Horizontal))
{
//Posiziona il
testo al centro
SizeF textSize = graphics.MeasureString(testo, font);
float x = (larghezza - textSize.Width)
/ 2;
float y = (altezza - textSize.Height)
/ 2;
PointF textPosition = new PointF(x, y);
//Imposta
il testo sull'immagine nell'area
graphics.DrawString(testo,
font, brush, textPosition);
}
//Salvo in formato png il file
try
{
bitmap.Save(nomeFile, ImageFormat.Png);
MessageBox.Show($"Immagine '{nomeFile}' creata con successo.");
}
catch (Exception ex)
{
MessageBox.Show($"Errore durante il salvataggio dell'immagine: {ex.Message}");
}
}
}
}
Di seguito il frammento di codice per eseguire tale funzione.
C#
CreaImmagineGradiente("Ciao Emanuele", "Emanuele_Gradiente.png");