我正在玩一个小的C++向导生成的应用程序,在Visual MFC 2010中,我刚刚决定将我自己的位图放到资源中,以替换功能区UI应用程序按钮中显示的三立方体MFC位图,也就是“大理石”。
原版似乎使用黑色(0,0,0)作为透明色,但我无法确定Visual Studio2010中的MFC Ribbon (mfc-feature-pack stuff)在用作ribbon主图标的位图上做了什么来确定透明度。
ribbon (IDR_RIBBON)的属性显示Image=IDB_MAIN,IDB_MAIN是从名为main.bmp的磁盘文件加载的BMP格式的32x32位图。
此项目中的一些位图资源具有我所期望的:变得透明的洋红色,但MFC主位图没有使用此配色方案或调色板。
这是一个实际结果的例子,我希望这表明结果不是我想要的:

顺便说一句,似乎不可能在应用程序按钮中使用图标资源,所以我有点迷惑他们是如何在其中实现透明度的。
发布于 2010-09-30 01:30:17
也许是半透明的PNG?你知道BMP文件也可以有alpha通道吗?
发布于 2010-09-30 01:55:31
您需要创建一个32位位图,该位图具有用于透明度的alpha通道。我做这件事的方法不是很直接,但这是我唯一能想到的。
https://stackoverflow.com/questions/3824113
复制相似问题