【发布时间】:2014-01-05 16:43:58
【问题描述】:
我在这里有点困惑。在 C# 中,我的表单具有透明背景,表单上有一个图片框。图片框有一个带有很多透明区域的PNG图像,这很清楚,因为我在photoshop中查看过......透明度就在那里!
但是,当我运行我的应用程序时,PNG 图像由于某种原因而忽略了透明部分?有什么想法吗?
现在,该图像看起来像是在尝试对某些部分进行透明处理,但它生成的图像看起来有可怕的斑点。
我需要用一张图来解释:
在左边你可以看到我已经将表单背景设置为蓝色,并且没有设置透明键。顶部的界面PNG具有界面元素之间的透明度,甚至界面半透明背景都可以使用!通过图片可以看到表单背景。
但是,在右侧图像上,我已将表单透明度键设置为与背景颜色相同...它使所有表单透明,但似乎忽略了 PNG 上界面项之间的透明部分...使其看起来像表单背景颜色仍在图片框下方并形成可怕的锯齿状边缘。
那么,如果 PNG 在表单不透明的情况下工作,为什么它不将表单的其余部分隐藏在 PNG 下?我应该在这里看到的只是通过 PNG 界面元素和半透明部分显示的桌面......但我看到的只是我在表单上设置的颜色!
我希望这是有道理的。
我后来发现只有在 png 的某些部分有阴影时才会发生这种情况?
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
好的,感谢您的编辑...真的有点愚蠢的规则吗?
-
您是否要为表单绘制自定义边框?另外,这是一个 WinForms 项目吗?
标签: c# image background transparency dropshadow