当前位置: 首页 > 图文教程 > .Net技术 > ASP.NET > ASP.NET:ASP.NET中把彩色图片变成黑白图片

ASP.NET
一些很酷的.Net技巧
Asp.Net2.0的新技术缓存通知
在ASP.NET中使用.NET组件
在ASP.NET中自动给URL地址加上超链接
.NET 窗体之间的交互
六大ASP.NET实用技巧
ASP.Net中实现RSA加密的方法
ASP.NET 2.0 AJAX中Webservice调用方法
ASP.NET中MD5和SHA1加密的几种方法
水晶报表PUSH模式多个表数据的显示
用.NET 操作Excel编程
ASP.NET 页面事件顺序和生命周期
用.Net的Web服务实现天气预报[转]
在ASP.NET下实现数字和字符相混合的验证码
在ASP.NET中调用存储过程方法新解
ASP.NET验证控件详解
ASP.NET中实现模版的动态加载
Asp.Net中带图片的重填按钮
如何在.Net 中把图片存入数据库
asp.net的MVC编程、MV编程以及URL重写

ASP.NET:ASP.NET中把彩色图片变成黑白图片


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 290 ::
收藏到网摘: n/a

最大值法:使每个像素点的RGB值等于原像素点的RGB值中的最大的一个。

平均值法:使每个像素点的RGB值等于原像素点的RGB的平均值。

加权平均值法:根据需要指定每个像素点RGB值的权数,并取其加权平均值。

为了验证自己的想法正确与否,用ASP.NET写了如下代码,运行结果显示成功。通过程序可以把彩色图像编程黑白效果。

Private void button1_Click(object sender,EventArgs e)

{

//以黑白效果显示图像

Try{

   Int Height = this,pictureBox1.Image.Heigh;

   Int Width = this.pictureBox1.Image,Width;

   Bitmap newBitmap =new Bitmap(Width,Height);

   Bitmap oldBitmap= (Bitmap)this.pictureBox1.Image;

Color pixe1;

For(int x=0; x<Width; x++)

   For(int y=0;y<Height;y++)

{

 Pixe1=oldBitmap.GetPixe1(x,y);

Int r,g,b,result =0;

R=pixel.R;

G=pixel.G;

B=pixel.B;

//实例程序以加权平均值法产生黑白图像

Int iType=2;

Switch(iType)

{

  Case 0: //平均值法

       Result=(r+g+b)/3;

       Break;

Case 1: //最大值法

       Result=r>g?r:g;

Result = Result >b?Result:b;

       Break;

Case 2://加权平均值法

       Result=((int)(0.7*r)+(int)(0.2*g)+(int)(0.1*b));

       Break;

 

}

newBitmap.SetPixe1(x,y,Color.FromArgb(Result,Result,Result))

}

This,pictureBox1.Image =newBitmap;

}

Catch(Exception ex)

{

 MessageBox.Show(ex,Message,”信息提示”)

}

}