接下来就说一下怎样把一幅图片弄成反色效果。其实每个像素里面都有四个值,它们分别是alpha、red、green和blue四个值,它们就是组成颜色的基本元素,至少我是这样认为的。而每一个元素的取值范围都是[0, 255],也就是在大于等于0、小于等于255之间。所以实现反色效果的函数算下,
/// <summary>
/// 将图片进行反色处理
/// </summary>
/// <param name="mybm">原始图片</param>
/// <param name="width">原始图片的长度</param>
/// <param name="height">原始图片的高度</param>
/// <returns>被反色后的图片</returns>
public Bitmap RePic(Bitmap mybm, int width, int height)
{
Bitmap bm = new Bitmap(width, height);//初始化一个记录处理后的图片的对象
int x, y, resultR, resultG, resultB;
Color pixel;
for (x = 0; x < width; x++)
{
for (y = 0; y < height; y++)
{
pixel = mybm.GetPixel(x, y);//获取当前坐标的像素值
resultR = 255 - pixel.R;//反红
resultG = 255 - pixel.G;//反绿
resultB = 255 - pixel.B;//反蓝
bm.SetPixel(x, y, Color.FromArgb(resultR, resultG, resultB));//绘图
}
}
return bm;//返回经过反色处理后的图片
}
最后就是利用pictureBox把图片给显示出来窗体里面。