zoukankan      html  css  js  c++  java
  • C# 图像处理(二)—— 黑白效果

     今天就说一下怎样把一幅图片做成黑白图片的效果,就是把图片黑白化。之前打开图片的方法已经发表了,具体地址是:

    C# 图像处理(一)

       再面对一幅要处理成黑白效果的图片,我为此写了以下一个函数,

        /// <summary>
        /// 将图片转为为黑白图片
        /// </summary>
        /// <param name="mybt">要进行处理的图片</param>
        /// <param name="width">图片的长度</param>
        /// <param name="height">图片的高度</param>
        /// <returns>已经被处理后的黑白图片</returns>
        public Bitmap BWPic(Bitmap mybm, int width, int height)
        {
            Bitmap bm = new Bitmap(width, height);//初始化一个Bitmap对象,用来记录处理后的图片
            int x, y, result;//x,y是循环次数,result是记录处理后的像素值
            Color pixel;

            for (x = 0; x < width; x++)
            {
                for (y = 0; y < height; y++)
                {
                    pixel = mybm.GetPixel(x, y);//获取当前坐标的像素值
                    result = (pixel.R + pixel.G + pixel.B) / 3;//取红绿蓝三色的平均值

                    //绘图,把处理后的值赋值到刚才定义的bm对象里面
                    bm.SetPixel(x, y, Color.FromArgb(result, result, result));
                }
            }

            return bm;//返回黑白图片
        }

        最后利用一个pictureBox控件把处理后的图片呈现出来,利用的是下面这个语句,

        int width = this.pictureBox.Width;//图片容器的长度
        int height = this.pictureBox.Height;//图片容器的宽度
        this.pictureBox.Image = pix.BWPic((Bitmap)this.pictureBox.Image, width, height);//处理图片

  • 相关阅读:
    leetcode刷刷刷
    素数问题
    TCP/IP详解(整理)
    关于区块链应用方向与前景的一些思考
    设计模式
    面经中的各种问题汇总
    基于消逝时间量的共识机制(POET)
    c++语言知识点汇总
    二叉树前中后/层次遍历的递归与非递归形式(c++)
    layui表格搜索数据登录失效后的处理
  • 原文地址:https://www.cnblogs.com/luluping/p/2585553.html
Copyright © 2011-2022 走看看