技术开发 频道

用asp.net(c#)如何将彩色图片变灰阶图片

  【IT168 技术文档】

  本文的是一个如何用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

using ...System;
  
using System.Data;
  
using System.Configuration;
  
using System.Collections;
  
using System.Web;
  
using System.Web.Security;
  
using System.Web.UI;
  
using System.Web.UI.WebControls;
  
using System.Web.UI.WebControls.WebParts;
  
using System.Web.UI.HtmlControls;
  
using System.Drawing;
  
using System.Drawing.Imaging;
  
public partial class imageprocess : System.Web.UI.Page
  ...{
      
protected void Page_Load(object sender, EventArgs e)
      ...{
          Bitmap b
= new Bitmap(Server.MapPath("f6.jpg"));
          
for (int x = 0; x < b.Width; x++)
          ...{
              
for (int y = 0; y < b.Height; y++)
              ...{
                   Color pixel
= b.GetPixel(x, y);
                    
int  val = (pixel.R+pixel.G+pixel.B)/3;
                     b.SetPixel(x, y, Color.FromArgb(val,val,val));
               }
          }
           b.Save(Server.MapPath(
"Newf6.jpg"));
       }
  }

 

  执行结果:
  

0