首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Visual Studio2010-带功能区UI的C++ MFC应用程序-位图中的透明度

Visual Studio2010-带功能区UI的C++ MFC应用程序-位图中的透明度
EN

Stack Overflow用户
提问于 2010-09-30 01:10:52
回答 2查看 3.6K关注 0票数 1

我正在玩一个小的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主位图没有使用此配色方案或调色板。

这是一个实际结果的例子,我希望这表明结果不是我想要的:

顺便说一句,似乎不可能在应用程序按钮中使用图标资源,所以我有点迷惑他们是如何在其中实现透明度的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-30 01:30:17

也许是半透明的PNG?你知道BMP文件也可以有alpha通道吗?

票数 1
EN

Stack Overflow用户

发布于 2010-09-30 01:55:31

您需要创建一个32位位图,该位图具有用于透明度的alpha通道。我做这件事的方法不是很直接,但这是我唯一能想到的。

  • 使用Paint.Net将源图像转换为保留透明度的PNG。不幸的是,Paint.Net不支持直接创建32位位图。然后
  • 下载AlphaConv,它可以从PNG文件创建32位位图。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3824113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档