正文

VC通过HBITMAP获取RGB值2010-08-17 19:56:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/lym51/51673.html

分享到:

        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();         }

阅读(7653) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册