C#图片处理(黑白背景以及字体的颜色转换)

早上看到别人的一个需求,是有关图片处理的。顺手写了一下。。。

其实就是简单的像素处理,白底黑字转换为黑底白字。

int width = pictureBox1.Image.Width;//获取图片宽度

int height = pictureBox1.Image.Height;//获取图片高度

Bitmap newmap = new Bitmap(width, height);//保存新图片

Bitmap oldmap = (Bitmap)this.pictureBox1.Image;//保存旧图片

Color pixel;//颜色匹对

for (int i = 0; i < width; i++)

{

    for (int j = 0; j < height; j++)

    {

        pixel = oldmap.GetPixel(i, j);//获取旧图片的颜色值(ARGB存储方式)

        int r, g, b, a;

        r = pixel.R;

        g = pixel.G;

        b = pixel.B;

        a = pixel.A;

            

        //白色RGB(255,255,255),黑色(0,0,0)

    

        //判断是否属于白色背景

        if (r == 255 && g == 255 && b == 255)

        {

            //设置新图片中指定像素的颜色为黑色

            newmap.SetPixel(i, j, Color.FromArgb(0, 0, 0));

        }

        else if (r == 0 && g == 0 && b == 0)

        {   //设置新图片中指定像素的颜色为白色

            newmap.SetPixel(i, j, Color.FromArgb(255, 255, 255));

        }

        else

        { 

            newmap.SetPixel(i, j, Color.FromArgb(255 - r, 255 - g, 255 - b));

        }

    }

}

    

pictureBox1.Image = newmap;

 

本文从百度空间搬家到博客园。。

你可能感兴趣的:(图片处理)