我需要从具有指定透明度的本机API图像列表中绘制32位图像,但我不能这样做。我正在使用ImageList_DrawIndirect
调用以及传递给ILS_ALPHA
的{{1}}结构中的IMAGELISTDRAWPARAMS
图像状态,但它似乎无法按预期工作。 v6的ComCtl“附加”到我的应用程序,所以这不是问题的原因。
怎么做?
我的代码如下所示:
ImageList_DrawIndirect
这是VB6,但没关系 - 实际上,我们现在只使用纯WinAPI。
答案 0 :(得分:2)
该代码在我的应用程序中完美适合我。我的意思是我的应用程序中有相同的代码,唯一的例外是我没有设置rgbBk
。
我的猜测是,图像列表中的图像丢失了alpha通道。
我很惊讶您设置了rgbBk
,因为我认为它对使用alpha的图片没有影响。