2009-08-25 59 views

回答

4

标准Delphi控件做AFAIK不支持那种透明度。因此,你有两个possiblities:

  • 使用第三方组件
  • 创建自己的组件(您可以从现有的一个派生),并覆盖paint方法。在绘画方法中,只需绘制背景图像的正确部分,然后将每个像素变暗即可获得所需的效果。
+0

你能指导我去做第三方吗? – Jlouro 2009-08-25 11:52:59

+0

我对透明的第三方控件没有经验。你可以看看:http://www.delphipages.com/records.cfm?kw=transparent+controls – jpfollenius 2009-08-25 14:07:14

1

您可以尝试使用支持使用PNG图像的Delphi 2009/2010。 PNG图像格式允许alpha层透明度,这听起来就是你想要的。这假定你想在你的表单上有一个固定的形状。

EDIT--对于德尔福2007年,你可以尝试使用它,如果我没记错的话做妥善处理阿尔法透明度PNG Components

+0

是的,固定的形状。但我使用D2007,并没有升级计划。 – Jlouro 2009-08-25 18:18:14

1

背景图像和黑色区域是您希望在窗体上唯一的东西,还是您还有其他要混合的组件?

如果只是背景图像和黑暗区域,我会建议您查看Graphics32。这是一个图像控制支持层。从那里存档你想要的东西(或者我认为你想要的东西)应该相当容易。

+0

是的,我会有其他的组件,但他们将在图像上的顶部,而不是混合。 – Jlouro 2009-08-25 22:46:12

+0

然后我认为Graphics32会做。 – Vegar 2009-08-26 05:23:41