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);//處理圖片


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM