public static bool setNormalize(Bitmap bmap)
        {
            Color  c;
            double newR;
            double newG;
            double newB;
            double maxR = 0, minR = 255, maxG = 0, minG = 255, maxB = 0, minB = 255;

            for (int i = 0; i < bmap.Width; i++)
            {
                for (int j = 0; j < bmap.Height; j++)
                {
                    c = bmap.GetPixel(i, j);
                    if (c.R > maxR)
                    {
                        maxR = c.R;
                    }
                    if (c.G > maxG)
                    {
                        maxG = c.G;
                    }
                    if (c.B > maxB)
                    {
                        maxB = c.B;
                    }
                    if (c.R < minR)
                    {
                        minR = c.R;
                    }
                    if (c.G < minG)
                    {
                        minG = c.G;
                    }
                    if (c.B < minB)
                    {
                        minB = c.B;
                    }
                }
            }

            for (int i = 0; i < bmap.Width; i++)
            {
                for (int j = 0; j < bmap.Height; j++)
                {
                    c    = bmap.GetPixel(i, j);
                    newR = FixColor.fix(((c.R - minR) / (maxR - minR)) * 255);
                    newG = FixColor.fix(((c.G - minG) / (maxG - minG)) * 255);
                    newB = FixColor.fix(((c.B - minB) / (maxB - minB)) * 255);
                    bmap.SetPixel(i, j, Color.FromArgb(Convert.ToInt32(newR), Convert.ToInt32(newG), Convert.ToInt32(newB)));
                }
            }
            return(true);
        }
Esempio n. 2
0
        public static bool setContrast(Bitmap bmap, int contrast)
        {
            Color  c;
            double newR;
            double newG;
            double newB;

            contrast = contrast % 100;
            for (int i = 0; i < bmap.Width; i++)
            {
                for (int j = 0; j < bmap.Height; j++)
                {
                    c    = bmap.GetPixel(i, j);
                    newR = FixColor.fix(c.R * contrast);
                    newG = FixColor.fix(c.G * contrast);
                    newB = FixColor.fix(c.B * contrast);
                    bmap.SetPixel(i, j, Color.FromArgb(Convert.ToInt32(newR), Convert.ToInt32(newG), Convert.ToInt32(newB)));
                }
            }
            return(true);
        }