【发布时间】:2013-03-12 21:01:50
【问题描述】:
我正在使用适用于 Windows 桌面的 Windows 8 RTM 和 Visual Studio Express 2012。我正在尝试在 Visual C++ 中编写一个使用 UIRibbon 的应用程序。 (因为我只有 Express 版本,所以我无法访问 MFC;请不要在您的回答中使用它。)
问题与我在功能区中使用的图标有关。因为这个项目需要 Windows 7 兼容性,所以我不能使用 PNG 图像;我被老式的 BMP 卡住了。问题是,虽然一些 BMP 显示正确,但大多数图像周围都有黑色边界框。我怀疑问题与 BMP 文件有关,不在功能区 XML 文件或代码中。
我从 Internet 下载的正确显示的 BMP 作为我改编的示例的一部分。无法正确显示的 BMP 我从 ICO 文件中提取,然后使用 System.Drawing.Bitmap .NET API 转换为 32 位图像。 (这个转换过程是在一个单独的程序中作为我的构建过程的一部分完成的,而不是在运行时。)
我的问题是:以这种方式更改 BMP 的位深度会影响图像中的颜色吗?如果是这样,任何人都可以指出一个免费工具,可以将 PNG 文件转换为在 Windows UIRibbon 中正常工作的 32 位 BMP 文件?
【问题讨论】: