我有ARGB类型的有效HBITMAP句柄.如何使用GDI +绘制它?
我试过方法:graphics.DrawImage(Bitmap :: FromHBITMAP(m_hBitmap,NULL),0,0); 但它不使用alpha通道.
我有工作样本:
// 1.使用位图句柄获取信息:图像大小,位
BITMAP bmpInfo;
::GetObject(m_hBitmap, sizeof(BITMAP), &bmpInfo);
int cxBitmap = bmpInfo.bmWidth;
int cyBitmap = bmpInfo.bmHeight;
void* bits = bmpInfo.bmBits;
// 2.使用像素格式为PixelFormat32bppARGB的位创建并绘制新的GDI +位图
Gdiplus::Graphics graphics(dcMemory);
Gdiplus::Bitmap bitmap(cxBitmap, cyBitmap, cxBitmap*4, PixelFormat32bppARGB, (BYTE*)bits);
graphics.DrawImage(&bitmap, 0, 0);