Delphi:具有 alpha 混合功能的图像
Posted
技术标签:
【中文标题】Delphi:具有 alpha 混合功能的图像【英文标题】:Delphi: image with alpha blending capabilities 【发布时间】:2011-03-01 04:42:40 【问题描述】:是否有一些简单的组件可以显示 PNG 32 位图像并在鼠标进入和离开时将其 alpha 混合到另一个图像?甚至只是一个可以加载 32 位 PNG 并且还具有 Alpha 参数的简单图像......
我想我可以使用一些皮肤库(alphacontrols?)或一些图形库,但是对于一些简单的纯视觉效果,这将是相当过分的,我似乎无法找到一个简单的为我和也可以在玻璃表面上工作...
【问题讨论】:
【参考方案1】:它不完全是一个组件,但这里有一篇关于如何自己做的好文章的链接。它只是几行代码:
http://melander.dk/articles/alphasplash/
【讨论】:
【参考方案2】:基本的 TImage 能够显示 PNG 图像并 alpha-blend-it 到它背后的任何东西。您只需将“pngimage”单元添加到表单的使用子句中。你没有提到你正在使用的 Delphi 版本:Delphi 2010 有这个单元,但我不知道他们开始发布的是什么版本的 Delphi。对于 Delphi 7,我确定您需要找到开源“pngimage”。
如果您需要在用户进出您的控制时执行此操作,请考虑在位图中缓存状态图像:运行时会更快,您可以使用单个 TImage 来显示当前图像,但您不需要不需要两个重叠的 TIMage 控件。
【讨论】:
它能够对预混合的 .png 图稿进行 alpha 混合。但它不允许您在运行时动态混合您选择的可变 Alpha 值。至少不是不写一堆代码。以上是关于Delphi:具有 alpha 混合功能的图像的主要内容,如果未能解决你的问题,请参考以下文章