Delphi XE7 - 在Form

时间:2015-07-05 12:23:25

标签: image delphi transparency

我将Form Color设置为:clFichsia和TransparentColor:True和TransparentColorValue:clFuchsia。 我需要从表单中删除clFuchsia颜色。 通常图像是透明的,但是当我在应用程序中加载它时 表格的颜色不会消失。

我的应用程序如何显示:http://i.imgur.com/ivtm6ld.png

1 个答案:

答案 0 :(得分:2)

处理透明度有两种不同的方法:

1)旧的简化(Windows / Delphi)方式,其中特定的RGB颜色是透明的。此方法不允许任何部分透明度(不透明度为0%或100%)。

2)" new"方式,你使用带有alpha通道的图像,例如一张PNG图片。除了RGB值之外,每个像素都具有不透明度值,这允许部分透明(例如,用于抗锯齿)。

你正在混合这两种方法。您使用Alpha通道加载PNG图像(方法2),但是您还设置了透明色(方法1)。它看起来很糟糕的原因是因为"紫红色"图像中的RGB值无处不在。