C#
using System.Drawing.Imaging;
C#
public static void ConvertToSepia(string inputImagePath, string outputImagePath)
{
try
{
//Percorso e nome file immagine originale
Bitmap ImmagineOriginale = new Bitmap(inputImagePath);
//Nuova immagine di tipo seppia
Bitmap NuovaImmagineSeppia = new Bitmap(ImmagineOriginale.Width,
ImmagineOriginale.Height);
//Effettua un ciclo per i vari pixel
for (int y = 0; y <
ImmagineOriginale.Height; y++)
{
for (int x = 0; x
< ImmagineOriginale.Width; x++)
{
//Rileviamo il colore del pixel
Color pixelColor = ImmagineOriginale.GetPixel(x, y);
//Calcola i valori RGB per l'effetto seppia
int r = pixelColor.R;
int g = pixelColor.G;
int b = pixelColor.B;
int sepiaR = (int)(0.393 * r + 0.769 * g + 0.189 * b);
int sepiaG = (int)(0.349 * r + 0.686 * g + 0.168 * b);
int sepiaB = (int)(0.272 * r + 0.534 * g + 0.131 * b);
//
Assicura che i valori RGB siano compresi tra 0 e 255
sepiaR = Math.Min(sepiaR, 255);
sepiaG = Math.Min(sepiaG, 255);
sepiaB = Math.Min(sepiaB, 255);
//
Imposta il nuovo colore seppia nel pixel corrispondente
Color sepiaColor = Color.FromArgb(sepiaR, sepiaG,
sepiaB);
NuovaImmagineSeppia.SetPixel(x,
y, sepiaColor);
}
}
// Salva il file con i valori di seppia
NuovaImmagineSeppia.Save(outputImagePath,
ImageFormat.Jpeg);
// Libera le risorse
ImmagineOriginale.Dispose();
NuovaImmagineSeppia.Dispose();
MessageBox.Show("Nuova
immagine creata con successo!");
}
catch (Exception ex)
{
MessageBox.Show("Errore
durante la conversione: " + ex.Message);
}
}
C#
private void
BtnSeppia_Click(object sender, EventArgs e)
{
string immagineOriginale = "C:\\varie\\faro.jpg";
string nuovaImmagine = "C:\\varie\\faroSeppia.jpg";
// Chiama la funzione per convertire l'immagine
ConvertToSepia(immagineOriginale,
nuovaImmagine);
}

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