怎样用VC++实现位图的灰度化
1个回答
展开全部
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));
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询