In questo frammento di codice nel linguaggio di programmazione c#, vedremo come creare una nuova immagine con effetto Dreamy da una esistente, utilizzando le classi nello spazio dei nomi System.Drawing, di .Net 9.
La nuova immagine sarà con l'effetto grafico come mostrato nella figura precedente.
In un progetto di tipo Windows Application, aggiungiamo in alto, lo spazio dei nomi per la gestione della grafica, di seguito si riporta tale dichiarazione.
C#
using System.Drawing.Drawing2D;
Si crea nella form una funzione, che permetterà di applicare una patina rosea su una foto esistente, utilizzando le classi messe a disposizione dal Framework .Net
C#
private Bitmap CreaEffettoDreamy(Bitmap immagineOriginale)
{
// Crea una nuova bitmap con le stesse dimensioni
dell'immagine originale
Bitmap dreamyImage = new Bitmap(immagineOriginale.Width, immagineOriginale.Height);
using (Graphics g = Graphics.FromImage(dreamyImage))
{
// Applica un filtro di sfocatura
g.DrawImage(immagineOriginale, new Rectangle(0, 0,
immagineOriginale.Width, immagineOriginale.Height));
//Imposta una sovrapposizione di colore
using (Brush overlayBrush = new SolidBrush(Color.FromArgb(100, 255, 200, 200))) // Rosso chiaro semi-trasparente
{
g.FillRectangle(overlayBrush, 0, 0, dreamyImage.Width,
dreamyImage.Height);
}
}
return dreamyImage;
}
La funzione verrà richiamata in un evento click di un pulsante. Si riporta il frammento di codice da inserire nell'evento click del pulsante.
C#
private void BtnEffettoDreamy_Click(object sender, EventArgs e)
{
string immagineOriginale = "C:\\varie\\faro.jpg";
string immagineNuovaDreamy = "C:\\varie\\faroDreamy.jpg";
try
{
using (Bitmap
originalBitmap = new Bitmap(immagineOriginale))
{
Bitmap dreamyBitmap =
CreaEffettoDreamy(originalBitmap);
dreamyBitmap.Save(immagineNuovaDreamy);
dreamyBitmap.Dispose();
MessageBox.Show("Immagine Dreamy creata con successo");
}
}
catch (Exception ex)
{
MessageBox.Show("Errore
durante la creazione dell'immagine dreamy: " + ex.Message);
}
}

Le opere pubblicate in questo blog sono sotto la licenza Creative Commons. Attribuzione- No commerciale e no derivate.
Nessun commento:
Posta un commento