如何将一个任意色深的CBitmap A转化成32位的CBitmap B?
如何,我的思路是通过创建2个32位CDC,分别载入A B,然后BitBlt。
代码如下
BITMAP bm;
pBmpSrc->GetBitmap(&bm);
CDC dcMem;
dcMem.CreateCompatibleDC(NULL);
CBitmap bm32;
bm32.CreateBitmap(bm.bmWidth, bm.bmHeight, 1, 32, NULL);
dcMem.SelectObject(&bm32);
CDC dcSrc;
dcSrc.CreateCompatibleDC(&dcMem);
dcSrc.SelectObject(pBmp);
dcMem.BitBlt(0, 0, bm.bmWidth, bm.bmHeight, &dcSrc, 0, 0, SRCCOPY);
// bm32就是我希望的32位位图
可是实际运行后,这么做是错误的,麻烦有时间的朋友帮忙看看,错在了哪里?