如何在表单上放置透明色?

时间:2009-08-25 09:34:36

标签: delphi transparency

我有一张以图像为背景的表单。

现在我需要在表格的几个区域放置几个透明的深色区域。

我不需要隐藏背景。我怎么能这样做?

3 个答案:

答案 0 :(得分:4)

标准德尔福控制做AFAIK不支持那种透明度。因此,您有两种可能性:

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

答案 1 :(得分:1)

您可以尝试支持使用PNG图像的Delphi 2009/2010。 PNG图像格式允许alpha层透明,这听起来像你正在寻找。这假设您希望表单上有固定的形状。

编辑 - 对于Delphi 2007,您可以尝试使用PNG Components,如果我没记错的话,可以正确处理Alpha透明度。

答案 2 :(得分:1)

背景图片和较暗的区域是您在表单上唯一想要的东西,还是还有其他应该混合的组件?

如果只是背景图片和黑暗区域,我建议您查看Graphics32。它是支持图层的图像控件。从那里归档你想要的东西(或我认为你想要的......)应该相当容易。