尽管设置透明,但没有透明背景。'

时间:2017-07-08 09:54:59

标签: lazarus

刚开始拉撒路。问题在于:我在表单上放置了一个面板,并将面板的颜色设置为clRed。然后我在面板上放置了TImage。我将位图(.bmp)图像加载到图像组件中。

然而,尽管图像看起来应该是这样,但背景并不透明(即红色),尽管我已经检查了透明的图像。对象检查器中相关TImage的框。

那么,这次我做错了什么?

2 个答案:

答案 0 :(得分:0)

Afaik bmp imageformat没有alpha通道,也没有透明色。 因此TImage是透明的,但加载的图像不支持透明度。白色imagebackground仍显示为白色,因为程序不知道它是白色背景而不是白色前景。尝试使用支持Alpha值的图像格式,并编辑图像文件以包含全色或半透明色。我推荐.PNG文件格式,也许只是尝试一些来自谷歌的透明图像或使用gimp或paint.net创建自己的。

答案 1 :(得分:0)

与bmp相关的“透明”意味着:用背景替换给定的颜色。通常,此颜色由图像左/底(或顶部?)角的像素定义。此时你有正确的颜色吗?

如果将带有真正alpha通道的png图像加载到TImage中,通常透明度问题就会减少。对于测试,请尝试Lazarus安装文件夹images \ splash_source \中的paw.png - 它运行正常。