使用asp.net改变图片颜色如灰色的变成彩色
最近奇葩经理提出了奇葩的需求,要能在网站上改变图片的颜色,比如灰色的变成彩色,彩色的变成灰色,尼玛楼主的感受你们不懂!于是有了下面的代码。
用法:调用update_pixelColor方法并传参数即可
#region改变图片颜色
///<summary>
///改变图片的颜色
///</summary>
///<paramname="filePath">图片的完整路径</param>
///<paramname="colorIndex">改变的颜色,true为灰色,false为彩色</param>
publicvoidupdate_pixelColor(stringfilePath,boolcolorIndex)
{
Bitmapbmp=newBitmap(Bitmap.FromFile(filePath));
intvalue=0;
for(inti=0;i<bmp.Height;i++)
{
for(intj=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>
///<paramname="posClr">单点像素</param>
///<returns>int</returns>
privateintGetHongNumColor(ColorposClr)
{
return(posClr.R*19595+posClr.G*38469+posClr.B*7472)>>16;
}
///<summary>
///获取灰色单点像素
///</summary>
///<paramname="posClr">单点像素</param>
///<returns>Color</returns>
privateintGetGrayNumColor(ColorposClr)
{
//要改变ARGB
return(posClr.R*19595+posClr.G*38469+posClr.B*7472)>>16;
}
#endregion改变图片颜色热门推荐
10 分别发的祝福语简短
11 大外甥高考祝福语简短
12 小学毕业校长简短祝福语
13 搞工程发财祝福语简短
14 冬季祝福语男生文案简短
15 同事生子问候祝福语简短
16 退休文案寄语简短祝福语
17 送给自己的祝福语简短
18 简短祝福语毛笔字