黑白处理的算法:(R + G + B) / 3
- private Color GetNewColor(Color Source)
- {
- int Val = (int)((Source.R + Source.G + Source.B) / 3);
- return Color.FromArgb(Val,Val,Val);
- }
遍历图片中的每个像素点,使用 GetPixel() 方法获取该像素点的 RGB 颜色值,将该像素点的颜色值进行黑白处理后用 SetPixel() 方法重新将该像素点的颜色值设置为处理后的颜色值。
- Bitmap bmp = pictureBox1.Image as Bitmap;
- for (int i = 0; i < bmp.Width; i++)
- {
- for (int j = 0; j < bmp.Height; j++)
- {
- Color Source = bmp.GetPixel(i, j);
- Color NewColor = GetNewColor(Source);
- bmp.SetPixel(i, j, NewColor);
- }
- }
- pictureBox1.Image=bmp;