使用asp.net改变图片颜色如灰色的变成彩色

最近奇葩经理提出了奇葩的需求,要能在网站上改变图片的颜色,比如灰色的变成彩色,彩色的变成灰色,尼玛楼主的感受你们不懂!于是有了下面的代码。

用法:调用update_pixelColor方法并传参数即可

#region 改变图片颜色 

/// <summary>
/// 改变图片的颜色
/// </summary>
/// <param name="filePath">图片的完整路径</param>
/// <param name="colorIndex">改变的颜色,true为灰色,false为彩色</param>
public void update_pixelColor(string filePath, bool colorIndex)
{
Bitmap bmp = new Bitmap(Bitmap.FromFile(filePath)); 

int value = 0; 

for (int i = 0; i < bmp.Height; i++)
{
for (int j = 0; j < bmp.Width; j++)
{
if (colorIndex)
value = this.GetGrayNumColor(bmp.GetPixel(j, i));
else
value = this.GetHongNumColor(bmp.GetPixel(j, i)); 

bmp.SetPixel(j, i, Color.FromArgb(value, value, value));
}
} 

bmp.Save(filePath);
} 

/// <summary>
/// 获取彩色单点像素
/// </summary>
/// <param name="posClr">单点像素</param>
/// <returns>int</returns>
private int GetHongNumColor(Color posClr)
{
return (posClr.R * 19595 + posClr.G * 38469 + posClr.B * 7472) >> 16;
} 

/// <summary>
/// 获取灰色单点像素
/// </summary>
/// <param name="posClr">单点像素</param>
/// <returns>Color</returns>
private int GetGrayNumColor(Color posClr)
{
//要改变ARGB
return (posClr.R * 19595 + posClr.G * 38469 + posClr.B * 7472) >> 16;
} 

#endregion 改变图片颜色 
(0)

相关推荐

  • asp.net验证码图片生成示例

    验证码是一张图片.我们需要在前台代码中写一段<img>,src指向一张页面(ValidateImage.aspx). 复制代码 代码如下: <script language="javascript"> function changeImg() {            $("#imgCheckNo").attr("src", "ValidateImage.aspx?r=" + getRandom(999

  • ASP.NET图片上传实例(附源码)

    由于需要图片上传的功能,所以花了一些时间网上找相关资料终于搞定,效果图如下: 下面的是解决方案截图和上传的图片截图: 下面是代码: 1.界面代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UploadPic.aspx.cs" Inherits="Pic_Try.UploadPic" %> <!DOCTYPE html PUBLIC &q

  • asp.net文件上传解决方案(图片上传、单文件上传、多文件上传、检查文件类型)

    小编之前也介绍了许多ASP.NET文件上传的解决案例,今天来个asp.net文件上传大集合. 1 使用标准HTML来进行图片上传 前台代码: <body> <form id="form1" runat="server"> <div> <table> <tr> <td colspan="2" style="height: 21px" > 使用标准HTML来进

  • asp.net实现图片以二进制流输出的两种方法

    本文实例讲述了asp.net实现图片以二进制流输出的两种方法.分享给大家供大家参考,具体如下: 方法一: System.IO.MemoryStream ms = new System.IO.MemoryStream(); System.IO.Stream str = new FileUpload().PostedFile.InputStream; System.Drawing.Bitmap map = new System.Drawing.Bitmap(str); map.Save(ms, Sy

  • ASP.NET中图片显示方法实例

    本文实例讲述了ASP.NET中图片的显示方法.分享给大家供大家参考.具体如下: genimage.ashx: 复制代码 代码如下: <%@ WebHandler Language="C#" Class="netpix.ImageGenerator" %> genimage.ashx.cs: // Copyright (C) 2003 by Greg Ennis // (mailto:greg@ennis.net) // // The contents o

  • Asp.net FileUpload+Image制作头像效果示例代码

    在Web开发中会经常使用到个人信息注册,而个人信息中通常需要自己的头像或者照片.今天主要介绍一下使用FileUpload+img控件上传照片. FileUpLoad控件使用介绍 FileUpLoad控件的PostedFile属性主要获取上传文件的一些基础信息. .ContentLength 获取上传文件的大小.返回值为int类型,单位为字节. 用途 1.判断上传文件的大小 if (this.FileUpload1.PostedFile.ContentLength <= 4000000) //4M

  • 使用asp.net改变网页上图片颜色比如灰色变彩色

    最近奇葩经理提出了奇葩的需求,要能在网站上改变图片的颜色,比如灰色的变成彩色,彩色的变成灰色,尼玛楼主的感受你们不懂!于是有了下面的代码... 用法:调用update_pixelColor方法并传参数即可 #region 改变图片颜色 /// <summary> /// 改变图片的颜色 /// </summary> /// <param name="filePath">图片的完整路径</param> /// <param name=

  • ASP.NET中Image控件使用详解

    Image控件又称图像控件,主要用来显示用户的图片或图像信息. 一.属性 表1 Image控件常用属性及说明 属性 说明 ID 控件ID ImageAlign 获取或设置Image控件相对于网页上其他元素的对齐方式 ImageUrl 获取或设置在Image控件中显示的图像的位置 Width 控件的宽度 Visible 控件是否可见 CssClass 控件呈现的样式 BackColor 控件的背景颜色 Enabled 控件是否可用 Image控件的大部分属性和Label控件类似,在此主要讲解一下其

  • ASP.NET简单好用功能齐全图片上传工具类(水印、缩略图、裁剪等)

    使用方法: UploadImage ui = new UploadImage(); /***可选参数***/ ui.SetWordWater = "哈哈";//文字水印 // ui.SetPicWater = Server.MapPath("2.png");//图片水印(图片和文字都赋值图片有效) ui.SetPositionWater = 4;//水印图片的位置 0居中.1左上角.2右上角.3左下角.4右下角 ui.SetSmallImgHeight = &quo

  • ASP.NET实现上传图片并生成缩略图的方法

    本文实例讲述了ASP.NET实现上传图片并生成缩略图的方法.分享给大家供大家参考,具体如下: protected void bt_upload_Click(object sender, EventArgs e) { //检查上传文件的格式是否有效 if (this.UploadFile.PostedFile.ContentType.ToLower().IndexOf("image") < 0) { Response.Write("上传图片格式无效!"); re

  • asp.net显示图片到指定的Image控件中 具体实现

    由于asp.net中的Image控件是在System.Web.UI.WebControls命名空间中,所以不能像在winform中那样通过byte[]直接显示图片. 既然这样,就只能曲线救国了.这里的例子是这样的思路:teacherdetial.aspx是最终用来显示文字和图片的页面,但是由于我们的图片需要曲线救国,所以这里另外建立一个pic.aspx.在pic.aspx页面中我们显示图片,而将teacherdetial.aspx中的Image控件的url设为pic.aspx.最终我们完成了要求

  • asp.net fileupload控件上传图片并预览图片

    本文为大家分享了fileupload控件实现上传图片后并进行预览图片的功能,并对web.config进行了配置,先看一下最终效果: 页面代码: <form id="form1" runat="server"> <div> <asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="Button1&quo

  • ASP.NET实现图片以二进制的形式存入数据库

    本文以实例形式讲述了ASP.NET实现图片以二进制的形式存入数据库的方法.过去我们都是直接在数据库中存入图片文件名的,还没有试过存储整张图片到数据库中,经过一番资料查询与测试,整理出了如下的功能代码: 1.建立保存图片的表的SQL语句: USE [niunantest] GO /****** 对象: Table [dbo].[picdata] 脚本日期: 03/30/2010 14:51:58 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER

  • ASP.NET图片处理三类经典问题

    我们在做web程序的时候经常会遇到一些图片处理的问题,今天就把遇到的需要图片处理的地方给总结一下.也算是对自己学习过程的一个总结,希望也能给大家一些启发. 一.验证码. 我们在某些网站注册或者登录的时候,都可能遇到要填写验证码的地方,当时没搞懂这样的图片是怎样一回事,事实上这是一张随机生成的图片,需要在后台专门新建一个aspx页或者ashx一般程序处理页来专门负责生成这样的图片.下面就通过示例向大家演示这样的一个过程! 首先我们新建一个登录页,模拟用户登录.代码如下: <div> <ta

  • Asp.net简单实现给图片增加文字水印

    经常看见MOP上有人贴那种动态的图片,就是把一个字符串作为参数传给一个动态网页,就会生成一个带有这个字符串的图片,这个叫做文字水印.像什么原来的熊猫系列,还有后来的大树和金条,都挺有意思.就用Asp.net写了一个非常简单的.全部的代码如下: 复制代码 代码如下: <%@ Import Namespace="System" %> <%@ Import Namespace="System.IO" %> <%@ Import Namespa

  • Asp.Net上传图片同时生成高清晰缩略图

    在asp.net中,上传图片功能或者是常用的,生成缩略图也是常用的.baidu或者google,c#的方法也是很多的,但是一用却发现缩略图不清晰啊,缩略图片太大之类的事情,下面是我在处理图片上的代码,效果不错,所以拿出来分享,(效果能达到一些绘图软件的效果) 代码如下: /// <summary> /// asp.net上传图片并生成缩略图 /// </summary> /// <param name="upImage">HtmlInputFile控

随机推荐