BS_AUTORADIOBUTTON|BS_PUSHLIKE|BS_BITMAP
)。 CreateDIBSection
(使用BITMAPINFO
和BI_RGB
创建位图,并通过ppvBits
获取指向原始像素的指针,以便可以操纵它们自由地BM_SETIMAGE
将按钮的图像设置为我创建的位图。到目前为止,我可以通过手动操作像素来设置 RGB和alpha 。我测试了即使是半透明的(非预乘)alpha值也看起来不错。
据我所知,一切正常,除非图像中的所有像素都是透明的。在那种情况下,该按钮显然会忽略alpha值,仅显示一个矩形,每个像素具有完全不透明的相应颜色。
我found a hint至少在某些情况下,Windows实际上似乎将像素的alpha值都为0的图像解释为完全不透明的图像:
当窗口管理器看到32bpp位图时,它将查看alpha 渠道。如果全为零,则假定图像为0RGB 格式;否则将假定它为ARGB格式
此行为记录在某处吗?