当我提供一组 PNG 图像时,如何在 Delphi 中创建丰富的 UI?我需要用 PNG 图像“皮肤”按钮/面板/页面控件。必须支持 PNG 透明度。任何组件/解决方案?
说清楚:我不是要求典型的“剥皮”解决方案,也不是要求 delphi7 中的 PNG 支持。而是用于包含基本控件(按钮、页面控件)的解决方案/组件集/库,可以设置背景图像。每个元素都会有完全不同的图像,所以这与蒙皮无关。
在 Delphi 7 中您将很难做到这一点。最新版本的 Delphi 对 PNG 提供了出色的支持,包括透明度。我知道这不是您问题的简单答案,但我认为这将是最好的解决方案。
我从 Delphi 7 开始就一直在使用TPngComponents。它为大多数 delphi 内置/第三方组件提供了非常好的 png 支持。Embarcadero 购买了另一个众所周知的开源 PNG 支持组件,称为 TPngImage,并在以后的 Delphi 版本中内置到 Delphi 的本机图形支持中。然而,原生 png 支持似乎更难使用并且存在更多问题。请注意,某些组件不支持透明度,因此您必须自己进行一些测试。
通过快速搜索,我还没有找到原始包,但找到了一个主要针对 Delphi 2009/2010 的更新的修改包,但提到“应该与 Delphi 7 兼容”
我自己现在在 Delphi 2010 中使用该版本。
编辑:感谢 Uwe Rabbee 指出购买的产品 Codegear(现为 Embarcadero)是另一个组件 TPngImage 而不是本文中的TPngComponent
我们使用DevExpress Skinning Library。使用这些组件,您可以使用 png 来创建自己的皮肤。但是从头开始会做很多工作......
你可以看看DelphiAsioVST库。
这是一个很棒的库,可以帮助您创建音频软件,但它包含您可以使用位图的组件,例如用于拨号或滑块。
对于拨号控件,您可以为每个可能的位置使用一系列图像,以使用户界面看起来像这样: