中国第一Ajax站长门户:www.okajax.com   虚拟主机 域名注册 云主机

Image processing将彩色图片变灰阶图片 - okajax.com - Ajax中国

我要投稿 会员登陆 RSS订阅 本站推荐:
您的位置主页 > 网页编程 > .net > Image processing将彩色图片变灰阶图片

Image processing将彩色图片变灰阶图片

2009-05-03    文章来源:互联网    浏览次数:

小弟其实是一个爱玩Image processing的人....

今天就介绍如何用asp.net(c#)来做影像处理的程式..

输入彩色图片..输出灰阶图片.这个其实很简单.就是将RGB三原色..相加除以3

把结果再填回去RGB的位置..就可以做到了...

例如:R=50,G=100,B=30, R+G+B=50+100+30=180/3 = 90

所以:R=90,G=90,B=90...以此类推..

imageprocess.aspx.cs

  1. using ...System;  
  2. using System.Data;  
  3. using System.Configuration;  
  4. using System.Collections;  
  5. using System.Web;  
  6. using System.Web.Security;  
  7. using System.Web.UI;  
  8. using System.Web.UI.WebControls;  
  9. using System.Web.UI.WebControls.WebParts;  
  10. using System.Web.UI.HtmlControls;  
  11. using System.Drawing;  
  12. using System.Drawing.Imaging;  
  13.  
  14. public partial class imageprocess : System.Web.UI.Page  
  15. ...{  
  16.     protected void Page_Load(object sender, EventArgs e)  
  17.     ...{  
  18.         Bitmap b = new Bitmap(Server.MapPath("f6.jpg"));  
  19.  
  20.         for (int x = 0; x < b.Width; x++)  
  21.         ...{  
  22.             for (int y = 0; y < b.Height; y++)  
  23.             ...{  
  24.  
  25.                 Color pixel = b.GetPixel(x, y);  
  26.  
  27.  
  28.                 int  val = (pixel.R+pixel.G+pixel.B)/3;  
  29.  
  30.  
  31.  
  32.                 b.SetPixel(x, y, Color.FromArgb(val,val,val));  
  33.  
  34.             }  
  35.         }  
  36.  
  37.         b.Save(Server.MapPath("Newf6.jpg"));  
  38.  
  39.     }  

执行结果:

文章评论(查看全部)

看不清楚?单击换一张。
loading.. 评论加载中....
关于我们 - 广告服务 - 版权隐私 - 免责声明 - RSS地图 - 网站地图 - 使用帮助 - 返回顶部