C# 窗口形成玻璃效果,使ImageBox透明

C# 窗口形成玻璃效果,使ImageBox透明,c#,winforms,dwm,C#,Winforms,Dwm,我有一个windows窗体应用程序,我使用DwmExtendFrameIntoClientArea将窗口的框架扩展到客户端区域,以获得玻璃效果 现在我尝试在图片框中显示一个透明的PNG图像,但是背景显示为白色,而不是玻璃效果。如何使图像显示为透明,以便我只能看到圆形的灰色矩形,而不能看到白色背景 下面是我的截图。谢谢 无论玻璃的颜色键是什么,都要设置为:黑色iirc。无论玻璃的颜色键是什么,都要设置为:黑色iirc。好的,这是winforms的一个很容易解决的问题…..你要做的,就像布拉姆说的,

我有一个windows窗体应用程序,我使用DwmExtendFrameIntoClientArea将窗口的框架扩展到客户端区域,以获得玻璃效果

现在我尝试在图片框中显示一个透明的PNG图像,但是背景显示为白色,而不是玻璃效果。如何使图像显示为透明,以便我只能看到圆形的灰色矩形,而不能看到白色背景

下面是我的截图。谢谢


无论玻璃的颜色键是什么,都要设置为:黑色iirc。

无论玻璃的颜色键是什么,都要设置为:黑色iirc。

好的,这是winforms的一个很容易解决的问题…..你要做的,就像布拉姆说的,是将透明度键设置为:R:1,G:2,B:3…这使表单中以该颜色绘制的所有内容都透明…然后您需要做的就是将imagebox的背景颜色设置为该颜色…并且只要图像具有透明度,它就应该以透明的方式绘制图像的背景。

好的,这是一种很容易解决的winforms问题。…您需要做的是,就像布拉姆说的,透明度的关键点是:R:1,G:2,B:3…这将使表单中以该颜色绘制的所有内容都透明…然后您需要做的就是将imagebox的背景颜色设置为该颜色…并且只要图像具有透明度,它就应该透明地绘制图像的背景

使什么为黑色?是否将窗体透明键设置为黑色?我试过它不起作用。另外,当我设置窗体透明度键时,窗体的行为很奇怪……当我尝试最大化或关闭它时,它会失去焦点,只是停留在那里,按钮不起作用。然后,我必须右键单击任务栏并从那里关闭它使什么变黑?是否将窗体透明键设置为黑色?我试过它不起作用。另外,当我设置窗体透明度键时,窗体的行为很奇怪……当我尝试最大化或关闭它时,它会失去焦点,只是停留在那里,按钮不起作用。然后我必须右键点击任务栏并关闭它。我将窗体透明度键设置为黑色,这就是我用来获得玻璃效果的地方。然后我还将picturebox背景色设置为黑色。但它不起作用。我99.9%确信我的PNG是透明的。在桌面上,它正确地显示为透明。我将我的picturebox图像添加到问题中,它是透明的。这就是问题所在,您的图片不透明…这是指向透明图片的链接,请下载并尝试使用它。哦,太酷了…你用什么设置来设置图像的透明度?我使用了焰火,在导出图像时选择了透明度…wierd。。。谢谢你,伙计,欢迎你!我使用一个名为paint.Net的免费程序…你可以在www.getpaint.Net上获得它,就像photoshop一样,但它是免费的。我刚刚复制了你的图像,用我的魔杖选择了白色边框,然后按delete和viola!保存和透明!我将我的表单透明度键设置为黑色,这是我用来获得玻璃效果的。然后我还将picturebox背景色设置为黑色。但它不起作用。我99.9%确信我的PNG是透明的。在桌面上,它正确地显示为透明。我将我的picturebox图像添加到问题中,它是透明的。这就是问题所在,您的图片不透明…这是指向透明图片的链接,请下载并尝试使用它。哦,太酷了…你用什么设置来设置图像的透明度?我使用了焰火,在导出图像时选择了透明度…wierd。。。谢谢你,伙计,欢迎你!我使用一个名为paint.Net的免费程序…你可以在www.getpaint.Net上获得它,就像photoshop一样,但它是免费的。我刚刚复制了你的图像,用我的魔杖选择了白色边框,然后按delete和viola!保存和透明!