怎样用VC++实现位图的灰度化

 我来答
百度网友2018359
2017-01-23 · TA获得超过3494个赞
知道大有可为答主
回答量:3486
采纳率:73%
帮助的人:1418万
展开全部
CImage img;
img.Load(_T("d:\\sex.bmp"));
COLORREF p;
int r,g,b,avg;
int width=img.GetWidth();
int height=img.GetHeight();
for(int x=0;x<width;x++)
{
    for(int y=0;y<height;y++)
    {
        p=img.GetPixel(x,y);
        r=GetRValue(p);
        g=GetGValue(p);
        b=GetBValue(p);
        avg=(r+g+b)/3;
        img.SetPixelRGB(x,y,avg,avg,avg);
    }
}
img.Draw(GetDC()->m_hDC,CRect(0,0,width,height));
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式