gpt4 book ai didi

c# - Winforms 透明度问题(我为之着迷)

转载 作者:太空狗 更新时间:2023-10-30 01:11:05 25 4
gpt4 key购买 nike

我会在下面给你看一张图片,但在那之前......

如果您看过雅虎小部件或卡通/主题 Windows 媒体播放器皮肤..

我正在构建一个更少的标题栏……更少的背景……应用程序……它看起来像这样

alt text
(来源:deviantart.net)

你看到的较暗的背景实际上是我的墙纸,因为这是屏幕截图...

为了实现这个.. body 的形状和线条,我使用 Trasparent PNG..然后我使用 Win Form 的透明键使其透明..并将图像加载到图片框中...

我的问题是你在整个 body 轮廓上看到的白点......这是因为 PNG 的像素不是完全不透明或透明的,即半透明......所以透明度键无法制作背景在那些像素处透明的形式......你会看到这些白点......

嗯有没有其他方法可以使表单透明,因为...

  • 透明键将始终表现得像这样,因为无论您做什么,图像中总会有曲线处的这些半透明像素...

最佳答案

你的问题是

  • PNG 已消除锯齿
  • 它是在普通表单背景下合成的(SystemColors.Control)
  • 如果您使用 TransparencyKey 属性使其透明(它使单一颜色透明,但没有其他颜色),您最终会在 PNG 具有部分透明度的地方变得不透明

到目前为止,如预期。请记住:您不是在屏幕上绘制部分透明的 PNG;你把它画到你的表格上,然后你得到最终结果并使单一颜色透明。尽管值得,您的 PNG 可以将粉红色作为周围的颜色,结果是一样的。

您可能想要查看区域或者不对正在绘制的 PNG 进行抗锯齿处理。

关于c# - Winforms 透明度问题(我为之着迷),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3378464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com