您的位置:首页 > 其它

根据BITMAPINFO获取位图数据

2012-12-21 15:48 405 查看
LPSTR lpDIBBits;

BITMAPINFO &bmInfo = *(LPBITMAPINFO)hBitmap ;

if( bmInfo.bmiHeader.biBitCount > 8 )

lpDIBBits = (LPSTR)((LPDWORD)(bmInfo.bmiColors + bmInfo.bmiHeader.biClrUsed) + ((bmInfo.bmiHeader.biCompression == BI_BITFIELDS) ? 3 : 0));

else

{ int nColors = bmInfo.bmiHeader.biClrUsed? bmInfo.bmiHeader.biClrUsed : 1 << bmInfo.bmiHeader.biBitCount;

lpDIBBits = (LPSTR)(bmInfo.bmiColors + nColors);

}

SetStretchBltMode(ImageMemDC.m_hDC, COLORONCOLOR);

StretchDIBits( ImageMemDC.m_hDC,0,0,nWidth,nHeight,0,0,nWidth,nHeight,

lpDIBBits,(LPBITMAPINFO)hBitmap,DIB_RGB_COLORS,SRCCOPY);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: