Witam,
potrzebowałem na szybko funkcje do odciecia ciemniejszych partii zdjęcia ma szybko.
Na necie znalazłem to(lekko zmienilem)(C#):
public Bitmap changeContrastLowerBound(Bitmap source, int value)
{
int v3 = value * 3;
Bitmap bm = new Bitmap(source.Width, source.Height);
for (int y = 0; y < bm.Height; y++)
{
for (int x = 0; x < bm.Width; x++)
{
Color c = source.GetPixel(x, y);
if ((c.R + c.G + c.B) < v3)
bm.SetPixel(x, y, Color.Black);
}
}
return bm;
}
Funkcja powinna zmieniac piksele tylko na czarne gdy są ciemne i tak się dzieje, ale dodatkowo pojawia się bonus w postaci zamiany wszystkich innych pikseli na kolor biały!
Normalnie pisze w C++, LockBits zamierzam uzyć ale dopiero później, ale ciekawy jestem czemu tak się dzieje? Po zapisaniu obrazka jako jpg biały kolor jest przezroczysty ....
Z góry thx za odpowiedz.
--edit: //zmodyfikowany: 14-05-2010 00:59 przez Apoptyzm
heh ten pospiech xD nie zwrocilem uwagi, ze komus sie chcialo tworzyc nową bmp.
//q: na szybko dodalem bolda ma szybko..