0

我正在为 Windows 桌面使用 Windows 8 RTM 和 Visual Studio Express 2012。我正在尝试编写一个UIRibbon在 Visual C++ 中使用的应用程序。(因为我只有 Express 版本,所以我无法访问 MFC;请不要在您的回答中使用它。)

问题与我在功能区中使用的图标有关。因为这个项目需要 Windows 7 兼容性,所以我不能使用 PNG 图像;我被老式的 BMP 卡住了。问题是,虽然一些 BMP 显示正确,但大多数图像周围都有黑色边界框。我怀疑问题与 BMP 文件有关,不在功能区 XML 文件或代码中。

我从 Internet 下载的正确显示的 BMP 作为我改编的示例的一部分。无法正确显示的 BMP 我从 ICO 文件中提取,然后使用System.Drawing.Bitmap.NET API 转换为 32 位图像。(这个转换过程是在一个单独的程序中作为我的构建过程的一部分完成的,而不是在运行时。)

我的问题是:以这种方式更改 BMP 的位深度会影响图像中的颜色吗?而且,如果是这样,任何人都可以指出一个可以将 PNG 文件转换为在 Windows 中正常工作的 32 位 BMP 文件的免费UIRibbon工具吗?

4

1 回答 1

0

您在这里说的是Windows 功能区框架吗?如果是这样,您将无法使用 PNG,因为该框架仅支持 Windows 7 的 BMP。在 Windows 8 中,您也可以使用 PNG。有关详细信息,请参阅有关 M SDN 的文章

对于将您的 PNG 转换为兼容的 BMP 文件的免费工具,您应该查看“ Windows Ribbon Framework for Delphi ”附带的可视化设计器。

您可以简单地将 XML 标记加载到编辑器中并添加图片。如果需要,编辑器随后会将添加的文件转换为 BMP。您还可以使用编辑器检查您的功能区定义是否正确。它生成有效的“Windows Ribbon Framework”XML 标记,因此您可以使用任何其他语言(例如 C++、C# 或 Delphi)的标记文件进行进一步的应用程序开发。

于 2013-09-15T17:39:16.123 回答