【发布时间】:2015-06-21 02:32:18
【问题描述】:
我在我的应用程序中使用 PNG 图像作为主要图像资源。由于我使用的是 Delphi 7,我下载了 PNGImage 库并将其包含在项目中。我像这样加载图像:
Form.image.Picture.LoadFromFile(PAnsiChar('\background.png'));
图像的边框上有透明和半透明像素。我遇到的问题是透明像素充满了我的桌面的随机缩放部分以及当前打开的窗口,而我希望看到实际位于表单下方的内容。
另外,表单具有以下属性:
BorderStyle: bsNone;
TransparentColor: true;
Visible: false;
这是当前状态(黑线上方)和所需状态的图片:
能否以某种方式解决这个问题,或者这就是 delphi 处理透明度的方式?
【问题讨论】:
-
定义“固定”。换句话说,你想在你的形象下出现什么?你为什么要设置
TransparentColor和TransparentColorValue?而不是告诉我们你没有使用的 Delphi 版本,你能告诉我们你正在使用的 Delphi 版本吗? -
实际上您的表单设置为:“对于表单的每个黑色像素,显示底层桌面或窗口的像素。”您看到的结果似乎就是这样。有点不清楚您要达到的目标。
-
@Uwe Raabe 现在我明白我的描述有多么不清楚。是的,透明像素显示桌面,但我看到的是桌面的随机缩放部分,而不是实际放置在表单下方的部分
-
您还没有尝试告诉我们您想要达到的目标。你问我们如何从 A 到 B,却没有告诉我们 B 是什么。
-
@David Heffernan 我想看看表单下面实际放置了什么
标签: image delphi transparency