手机
当前位置:查字典教程网 >编程开发 >C#教程 >解析C#彩色图像灰度化算法的实现代码详解
解析C#彩色图像灰度化算法的实现代码详解
摘要:代码如下所示:复制代码代码如下:publicstaticBitmapMakeGrayscale(Bitmaporiginal){//crea...

代码如下所示:

复制代码 代码如下:

public static Bitmap MakeGrayscale(Bitmap original)

{

//create a blank bitmap the same size as original

Bitmap newBitmap = new Bitmap(original.Width, original.Height);

//get a graphics object from the new image

Graphics g = Graphics.FromImage(newBitmap);

//create the grayscale ColorMatrix

System.Drawing.Imaging.ColorMatrix colorMatrix = new System.Drawing.Imaging.ColorMatrix(

new float[][]

{

new float[] {.3f, .3f, .3f, 0, 0},

new float[] {.59f, .59f, .59f, 0, 0},

new float[] {.11f, .11f, .11f, 0, 0},

new float[] {0, 0, 0, 1, 0},

new float[] {0, 0, 0, 0, 1}

});

//create some image attributes

System.Drawing.Imaging.ImageAttributes attributes = new System.Drawing.Imaging.ImageAttributes();

//set the color matrix attribute

attributes.SetColorMatrix(colorMatrix);

//draw the original image on the new image

//using the grayscale color matrix

g.DrawImage(original, new Rectangle(0, 0, original.Width, original.Height),

0, 0, original.Width, original.Height, GraphicsUnit.Pixel, attributes);

//dispose the Graphics object

g.Dispose();

return newBitmap;

}

【解析C#彩色图像灰度化算法的实现代码详解】相关文章:

C#控制台输出进度和百分比的实例代码

深入多线程之:解析线程的交会(Thread Rendezvous)详解

解析美国东部时间与北京时间相互转换的实现代码

解析C#中@符号的几种使用方法详解

C# 4.0 大数的运算--BigInteger的应用详解

C#仿密保卡功能的简单实现代码

C#版ftp方法实现类的代码

C#自动创建数据库实现代码

C# 手动/自动保存图片的实例代码

C#操作图片读取和存储SQLserver实现代码

精品推荐
分类导航