[solved]Magiczna metoda kontrastująca

0

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..

0

Tworzysz pustą bitmapę, nie wstawiasz do niej zawartości bitmapy źródłowej, ustawiasz tylko te piksele, które mają być czarne. Co z pozostałymi, nie istnieją?

1 użytkowników online, w tym zalogowanych: 0, gości: 1