尽管将透明设置为 'true.',但没有透明背景

No transparent background despite setting transparent to 'true.'

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

然而,尽管图像显示正常,但背景不是透明的(即红色),尽管我在对象检查器中选中了 'transparent' 框以获取相关 TImage

所以,我这次做错了什么?

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

"Transparent" 与 bmp 相关的意思是:用背景替换给定的颜色。通常此颜色由图像 left/bottom(或顶部?)角中的像素定义。此时你的颜色正确吗?

如果将具有真实 alpha 通道的 png 图像加载到 TImage 中,通常透明度问题较少。要进行测试,请尝试 Lazarus 安装文件夹 images\splash_source\ 中的 paw.png - 它工作正常。