【问题标题】:Image as a background of a form in Delphi图像作为 Delphi 中表单的背景
【发布时间】:2010-05-26 07:48:39
【问题描述】:

我使用的是 Delphi 2006。我有一些带有透明胶片的 PNG 图像,我必须使用它们创建一个 GUI(顶部栏、左侧面板...)。图像具有不同的对齐属性。其中一幅图像是表单的背景。这里的问题是我无法将其对齐为 alClient,因为它仅占据其他图像留下的矩形区域,在其透明区域中显示裸画布。我需要的是背景图像放在所有其他图像的后面并占据所有画布大小。

有没有办法做到这一点?我知道我可以在表单的 OnResize 事件中编写一些逻辑来做到这一点,但我只是好奇我是否遗漏了什么。

谢谢。

【问题讨论】:

标签: delphi


【解决方案1】:

在表单上放置一个 TImage 并将其与“alClient”对齐。然后在表单上放置一个“alClient”对齐的面板。启用主题并设置“ParentBackground”属性时,TPanel 是透明的。然后将图像放在面板上并随意对齐。如果未启用主题很重要,您可以使用“TJvPanel”,它是JVCL 库的一部分。谷歌搜索似乎也揭示了一些透明面板的代码。

以上内容对“png”的透明度没有帮助。 AFAIK png 支持(透明度)是随 D2009 添加的,我不知道这个支持是否包括 TImage。

edit:实际上看来我应该将png图像加载到TImage的能力归功于JVCL库本身,而且它似乎支持透明的“png”与TImage就好了。

【讨论】:

  • 谢谢,Sertac。你的听起来像是解决问题的好方法。我对透明 png 没有任何问题,因为我使用了第三方组件来做到这一点。
猜你喜欢
  • 1970-01-01
  • 2012-12-31
  • 1970-01-01
  • 1970-01-01
  • 2015-08-30
  • 2014-03-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多