CRect rect(0,0,iLen,iLen);
HBITMAP hBitmap = CopyScrToBitmap(rect); //该方法见 VC截取桌面到
bitmap //http://blog.pfan.cn/lym51/51672.html
if (hBitmap!= NULL)
{
CBitmap* bitmap = CBitmap::FromHandle(hBitmap);
BITMAP bmp;
bitmap->GetBitmap(&bmp);
int bitmapSize=bmp.bmWidthBytes*bmp.bmWidthBytes;
BYTE* px = (BYTE*)GlobalAlloc(GPTR, bitmapSize);
if (px==NULL)
{
return 0;
}
//bitmap->SetBitmapBits(bitmapSize, px);
bitmap->GetBitmapBits(bitmapSize, px);
int pixelBytes = bmp.bmBitsPixel/8;
int x,y,index;
int pos=0;
for (y=0; y<bmp.bmHeight; ++y)
{
pos = 0;
for (x=0; x<bmp.bmWidth; ++x)
{
index = y*bmp.bmWidthBytes + x*pixelBytes;
px[index]; // B
px[index+1]; // G
px[index+2]; // R
}
}
::GlobalFree(px);
bitmap->DeleteObject();
}
正文
VC通过HBITMAP获取RGB值2010-08-17 19:56:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/lym51/51673.html
阅读(7515) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论