图片反色是颠倒原像素的颜色值大小,包含R、G、B值的反转,反色技术多应用在照片处理中。
代码如下:
/// <summary>
/// Image color inverse calculation 图片反色计算
/// </summary>
/// <param name="bitmap"></param>
public static Bitmap ColorInversing(Bitmap bitmap)
{
Bitmap refbitmap = (Bitmap)bitmap.Clone();//创建副本
int ImageWidth = bitmap.Width;
int ImageHeight = bitmap.Height;
for (int x = 0; x < ImageWidth; x++)
{
for (int y = 0; y < ImageHeight; y++)
{
Color Sourcecolor;
Sourcecolor = bitmap.GetPixel(x, y);
Color Deskcolor;
Deskcolor = Color.FromArgb(255- Sourcecolor.R, 255 - Sourcecolor.G, 255 - Sourcecolor.B);
refbitmap.SetPixel(x, y, Deskcolor);//替换副本像素颜色
}
}
return refbitmap;
}