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;
本文从百度空间搬家到博客园。。
邮箱:yunanwu@foxmail.com
微博:@提灯寻影(http://weibo.com/wuyunnan)
技术主页:http://www.cnblogs.com/yuanawu/
可以白手起家不可手无寸铁!我是我命运的主宰者,我是我灵魂的掌舵人!
每一次的选择都将是一个挑战!

浙公网安备 33010602011771号