Delphi XE7 - 使 PNG 图像在表单内透明
Delphi XE7 - Make PNG image transparent inside Form
我将表单颜色设置为:clFichsia 和 TransparentColor:True,将 TransparentColorValue 设置为:clFuchsia。
我需要从表单中删除 clFuchsia 颜色。
通常图像是透明的,但是当我在应用程序中加载它时
表格的颜色没有消失
我的应用程序的样子:
有两种不同的方式来处理透明度:
1) 旧的简化 (Windows/Delphi) 方式,使特定 RGB 颜色透明。此方法不允许任何部分透明度(不透明度为 0% 或 100%)。
2) "new" 方式,使用带有 alpha 通道的图像,例如一张 PNG 图像。除了 RGB 值之外,每个像素都有一个不透明度值,这允许部分透明(例如抗锯齿)。
您正在混合使用这两种方法。您加载带有 alpha 通道的 PNG 图像(方法 2),但随后您还设置了透明颜色(方法 1)。它看起来那么糟糕的原因是因为图像中的 "fuchsia" RGB 值在所有地方都不完全相同。
我将表单颜色设置为:clFichsia 和 TransparentColor:True,将 TransparentColorValue 设置为:clFuchsia。 我需要从表单中删除 clFuchsia 颜色。 通常图像是透明的,但是当我在应用程序中加载它时 表格的颜色没有消失
我的应用程序的样子:
有两种不同的方式来处理透明度:
1) 旧的简化 (Windows/Delphi) 方式,使特定 RGB 颜色透明。此方法不允许任何部分透明度(不透明度为 0% 或 100%)。
2) "new" 方式,使用带有 alpha 通道的图像,例如一张 PNG 图像。除了 RGB 值之外,每个像素都有一个不透明度值,这允许部分透明(例如抗锯齿)。
您正在混合使用这两种方法。您加载带有 alpha 通道的 PNG 图像(方法 2),但随后您还设置了透明颜色(方法 1)。它看起来那么糟糕的原因是因为图像中的 "fuchsia" RGB 值在所有地方都不完全相同。