无法获取渐变透明边框以正确显示
我无法让我的窗体背景图像以渐变透明度正确显示。也就是说,图像的边缘(或任何其他地方)具有淡入淡出或非255的Alpha值。结果是,无论在什么地方,Alpha都不是255(或者0--我不记得了),我看到了我的背景颜色。这里是一个screen shot:无法获取渐变透明边框以正确显示
我有这个设置是我试图通过Form.TransparencyKey属性键出绿色背景24bit的bmp文件:
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
Color key = ((Bitmap)this.BackgroundImage).GetPixel(0, 0);
this.TransparencyKey = key;
}
我也试过将Form的BackColor属性设置为相同的键值,但这没有什么区别。
我也尝试保存我的图像作为png与透明度和键入整个表单背景,但也没有工作。
我知道这是可能的,我已经看到Photoshop等应用程序使用它十年。如果有问题,我正在使用WinXP Pro。
任何人都有这方面的经验,并有一个想法,我失踪或做不正确的步骤?
的WinForms的实施Form
只允许纯色用作透明度的关键。不可能有不同程度的透明度。
大多数启动屏幕类似于你的桌面屏幕截图(在其启动屏幕将会占用占用的范围内),然后将其启动屏幕合并到此屏幕截图的顶部。然后他们将结果位图显示给用户,给人一种alpha梯度的印象。
我已经得到了我的失败时间份额。
我发现WinForms在处理这个时很简单。
下面是一些解决方案,您可能会发现有用:
http://www.c-sharpcorner.com/UploadFile/scottlysle/XparentFormsCS10282007212944PM/XparentFormsCS.aspx http://blogs.msdn.com/b/mswanson/archive/2005/07/07/436618.aspx
http://www.vcskicks.com/splash-screen.php
其中的一篇文章给了我一个想法,我可以使用阴影来伪造我之后的效果。谢谢。 – 2010-11-12 05:22:49
这是一个巧妙的解决方案。如果我无法用阴影拉出可接受的外观,我想我会去屏幕截图路线。无论如何,我还是需要使用屏幕截图功能,所以我不妨进入并了解它。谢谢(你的)信息。 – 2010-11-12 05:24:24