.Net使用bitmap将图片色彩变为灰色

//获取源图片路径

string filepath = Server.MapPath("~/Images/r.jpeg");

//将源图片转为bitmap可操作模式

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++)
{

//得到当前坐标处灰色颜色值
value = GetGrayNumColor(bmp.GetPixel(j,i));

//将指定坐标处的像素设为指定的颜色

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

string newPath =Server.MapPath("~/Images/"+ DateTime.Now.ToString("yyyyMMddHHmmsss") + ".jpeg");

//保存为新的图片路径

bmp.Save(newPath);

 

 

//将rgb色彩转为灰色

public int GetGrayNumColor(Color posClr) {

return (posClr.R * 19595 + posClr.G * 38469 + posClr.B * 7472) >> 16;
}

posted @ 2017-06-28 09:18  心之所向,砥砺前行。  阅读(782)  评论(0)    收藏  举报