可能重复:
使用 C# WinForms 的透明图像
我正在编写一个应用程序,该应用程序将具有No Border
. 它还将有一个BackgroundImage
[ 将显示为幻灯片;用计时器改变]。
示例图像 [您可能需要下载此文件以体验透明度]:
我尝试了以下两种方法来完成此操作:
使用
WindowsFormsApplication
:我使用了
TransparencyKey
属性Form
以及设置相同的Background
颜色。[我使用了Fuchsia
]。现在边框中的一些像素有了颜色Fuchsia
。使用
WindowsPresentationFoundation
:我使用了
AllowsTransparency
并将Window
设置Background
为 Image 并且图像以透明度正确显示。现在我必须在某个点添加另一个图像 [通过设置边距] 我之前在 Paint 中提到过。 例如:我从原始背景裁剪图像,然后通过设置前面提到的边距将其放置在表单中的正确位置。 但这会导致设置错误的边距!更新 :
在 WPF 中,如果我
BackgroundImage
在 Grid 中使用 ,它可以解决边距问题,但 Transparency 不起作用并使透明区域变白!
请给出一些提示以摆脱这个问题!