使用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 好听的元旦简短祝福语