Un saluto a tutti. Ho scritto questa "cavolata" per scurire di una certa quantità l'image contenuta in una picturebox:
codice:
public static void Dark(PictureBox P)
{
Color c;
int R, G, B;
for (int p = 0; p < P.Width; p++)
for (int q = 0; q < P.Height; q++)
{
c = Form1.bmp.GetPixel(p, q);
if (c != Color.Black)
{
R = c.R;
R -= 50;
if (R < 0)
R = 0;
G = c.G;
G -= 50;
if (G < 0)
G = 0;
B = c.G;
B -= 50;
if (B < 0)
B = 0;
c = Color.FromArgb(R, G, B);
Form1.bmp.SetPixel(p, q, c);
}
}
P.Image = Form1.bmp;
}
Vi potete immaginare quanto sia "veloce" questo metodo, soprattutto per immagini di 500x500 pixel o più. Ho provato a cercare nel Framework qualche metodo predefinito già pronto, nelle classi Graphics, Image, Bitmap... ma non ho trovato niente che faccia quello che fa il mio Dark(). Qualche consiglio?
Grazie.