将彩色照片变成黑白照片

小时候的一些照片都是黑白色的,现在的呢都是彩色,看多了五彩缤纷,反而觉得黑白更顺眼,颜色都是由(R(红色),G(绿色),B(蓝色))混合组成,分别在0-255之间,将(R+G+B)/3,形成的颜色就是黑白的了。
程序很简单
 1 /// <summary>
 2        /// 将彩色图片变成黑白色的照片
 3        /// </summary>
 4        /// <param name="image">原来图片</param>
 5        /// <returns>返回的黑白照片</returns>

 6        public static Bitmap WhiteAndBlack(System.Drawing.Bitmap image)
 7        {
 8            //原来图片的长度
 9            int width = image.Width;
10            //原来图片的高度
11            int height = image.Height;
12            //改变色素
13            //横坐标
14            for (int x = 0; x < width; x++)
15            {
16                //纵坐标
17                for (int y = 0; y < height; y++)
18                {
19                    //获得坐标(x,y)颜色
20                    Color color = image.GetPixel(x, y);
21                    //获得该颜色下的黑白色
22                    int value = (color.R + color.G + color.B) / 3;
23                    //设置颜色
24                    image.SetPixel(x,y,Color.FromArgb(value, value, value));
25                }

26            }

27            return image;
28        }
测试效果:
原图:

黑白:
posted @ 2006-10-09 19:58 Robin Zhang 阅读(...) 评论(...) 编辑 收藏