[英]Transparent PNG image (with TImageList) in a TMainMenu
我想在 TImageList 中加载具有透明背景的 PNG,并在 TMainMenu 中使用它(通过 TAction)。
但是,在 Delphi 中,背景只是黑色。 在 Delphi 中,PNG 是否只支持一半?
这家伙说这对他有用,但用一个按钮而不是主菜单。
我的设置:
没有理由备份整个 DFM 文件。
在对ImageList
进行操作之前,您应该导出图像:单击图像列表编辑器中的“导出”按钮,它将所有图像保存到单个.BMP
文件中。
更改属性后: ColorDepth = cd32Bit, DrawingStyle = dsTransparent
您应该单击“添加”按钮和 select 您之前导出的文件。 然后,将在菜单和工具栏中以透明方式绘制图像(至少在 D2010 上)......无需使用 3rd 方组件。
Delphi Rio 更新:
TImageList 必须有:
可以从具有透明bkg 颜色的 PNG 加载图像。
注意:编辑 TImageList 的某些属性将删除(没有任何通知)列表中的所有现有图像。 首先备份您的图像。
自 Delphi 7 以来,我一直在使用TPngComponents 。它为大多数 delphi 内置/第三方组件提供了非常好的 png 支持。 Embarcadero 购买了另一个众所周知的开源 PNG 支持组件,称为 TPngImage,并在后来的 Delphi 版本中内置到 Delphi 的本机图形支持中。 所以当我更改为 Delphi 2010 时,我认为 Delphi 现在有原生支持并测试原生支持但发现 alpha 支持不够好。
所以我再次使用了 TPngComponents,它对大多数组件都有更好的支持,包括main menu 。 我认为 package 应该可以用于 DXE,但修改有限。
编辑:感谢 Uwe Raabe 指出 Codegear(现为 Embarcadero)购买的产品是另一个组件 TPngImage 而不是 TPngComponent。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.