用c#编写一个程序读取一张bmp图片的数据并转化为灰度图保存到文件中

 我来答
OAngs
2012-06-24 · TA获得超过678个赞
知道小有建树答主
回答量:554
采纳率:66%
帮助的人:355万
展开全部
读取本地图片地址:
Image img = Bitmap.FromFile("文件地址");
转换为 Bitmap 对象:
Bitmap bmpobj = (Bitmap)img;
转换为灰度图片(传入刚才转换为 Bitmap 的对象,返回值为转换后的灰度图片对象):
public Bitmap GrayByPixels(Bitmap bmpobj)
{
for (int i = 0; i < bmpobj.Height; i++)
{
for (int j = 0; j < bmpobj.Width; j++)
{
int tmpValue = GetGrayNumColor(bmpobj.GetPixel(j, i));
bmpobj.SetPixel(j, i, Color.FromArgb(tmpValue, tmpValue, tmpValue));
}
}

return bmpobj;
}
这个是用来计算灰度值的私有方法:
private int GetGrayNumColor(System.Drawing.Color posClr)
{
return (posClr.R * 19595 + posClr.G * 38469 + posClr.B * 7472) >> 16;
}

将返回的对象转换为 Image 对象:
Image img = (Image)bmpobj;
将 img 保存到硬盘:
img.Save("要保存路径与文件名");
善小星tS
2012-07-05 · 超过33用户采纳过TA的回答
知道答主
回答量:293
采纳率:0%
帮助的人:91.1万
展开全部
不太清楚
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式