Mit diesen "paar" Zeilen Code kann man - leider soweit ich weiß auf die einzige Art - Bitmaps (System.Drawing.Bitmap) Prozentual verdunkeln.
>>Da dies eine Pixeloperation ist und das ganze Bild durchlaufen werden muss, kann es bei großen Bildern länger dauern. :( <<
[Edit] Man kann natürlich auch Bilder aufhellen indem man z.B. 150% angibt. :)
private Bitmap DimmImage(string Filename, int Percent)
{
Bitmap b = new Bitmap(Filename);
for (int i = 0; i < b.Width; i++)
{
for (int k = 0; k < b.Height; k++)
{
try
{
int percent = percent / 100;
int newR = Convert.ToInt32(b.GetPixel(i, k).R * percent);
int newG = Convert.ToInt32(b.GetPixel(i, k).G * percent);
int newB = Convert.ToInt32(b.GetPixel(i, k).B * percent);
Color c = Color.FromArgb(newR, newG, newB);
b.SetPixel(i, k, c);
}
catch
{
}
}
}
return b;
}
5 Kommentare zum Snippet