我正在创建一个用户界面并以这种方式实现绘制位图:
HDC hdcMem = CreateCompatibleDC(hdc);
HBITMAP oldBmp = (HBITMAP)SelectObject(hdcMem, mouseover? bitmapover:bitmap);
StretchBlt(hdc, xabs, yabs, width, height, hdcMem, 0, 0, worg, horg, SRCCOPY);
SelectObject(hdcMem, oldBmp);
DeleteDC(hdcMem);
但我只能绘制平面图像,我需要绘制透明图像(几个alpha级别)。我用GetDIBits
和SetDIBits
尝试了一些东西,但我没有画任何东西。我可以使用png或逐个像素地修改位图,这更简单,我只是想避免使用带有dll或限制性许可证的库。