CreateCompatibleBitmap能否创建一个透明的底色的位图
如题,在调用CreateCompatibleBitmap后默认创建的是黑色背景的位图,有什么办法让其背景色透明的?我是想让其创建时的底色就是透明的,网上人家说再画一层上去,比如:
HDC memDC = CreateCompatibleDC (dc.m_hDC);
HBITMAP memBM = CreateCompatibleBitmap (dc.m_hDC, rect.right, rect.bottom);
SelectObject(memDC, memBM);
Graphics *m_pBackBufferG = new Graphics(memDC);
Color backgroundColor(255, 255, 255, 255);
SolidBrush backgroundBrush(backgroundColor);
// Fill background
RectF fillRect(0.0f, 0.0f, (float) rect.right, (float) rect.bottom);
m_pBackBufferG->FillRectangle(&backgroundBrush, fillRect);
HDC hDC=::GetDC(m_hWnd);
HDC hMemDC=::CreateCompatibleDC(hDC);
BITMAPINFO bitmapinfo;
bitmapinfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bitmapinfo.bmiHeader.biBitCount = 32;
bitmapinfo.bmiHeader.biHeight = m_nHeight;
bitmapinfo.bmiHeader.biWidth = m_nWidth;
bitmapinfo.bmiHeader.biPlanes = 1;
bitmapinfo.bmiHeader.biCompression=BI_RGB;
bitmapinfo.bmiHeader.biXPelsPerMeter=0;
bitmapinfo.bmiHeader.biYPelsPerMeter=0;
bitmapinfo.bmiHeader.biClrUsed=0;
bitmapinfo.bmiHeader.biClrImportant=0;
bitmapinfo.bmiHeader.biSizeImage = m_nWidth* m_nHeight *bitmapinfo.bmiHeader.biBitCount / 8;
HBITMAP hBitmap=::CreateDIBSection (hMemDC,&bitmapinfo, 0,NULL, 0, 0);