vb透明背景与渐变

时间:2014-11-16 13:18:17

标签: vb.net transparency gradient picturebox photoshop

我在Visual Basic窗体中的渐变透明度键有问题。我希望获得良好的透明度,因为它是第一种形式(在PS中)  这就是我所做的:

1-使用以下预设在Adobe Photoshop(CS6)中绘制图片:

Photoshop preset

2-使用此选项保存图片:

PNG Option

3-将图片添加到带有蓝色BackColor

的vb格式的PictureBox中

PictureBox with blue BackColor

4-将透明度键更改为蓝色

TransparencyKey

5 - (可怕的)结果:

Result

1 个答案:

答案 0 :(得分:1)

Form.TransparencyKey属性并不是您真正想要的。它只会使图像的部分透明,与您指定的颜色完全匹配(在您的情况下为Color.Blue)。这意味着图像中渐变部分甚至包含少量红色或黄色的部分与滤镜不匹配。

您可以尝试的方法之一是使用Alpha混合绘制表单。这是library that lets you draw stuff with transparency,看起来像你想要的。 或者我挖了一个walkthrough on CodeProject。它涉及很多与表格互操作和操作系统聊天,这可能不是你的一杯茶。

请注意,Windows Forms用于绘图的系统GDI +有点慢,尤其是在绘制图像时。我不知道你的项目是什么样的,但是如果你要绘制很多透明的图像,我建议你看看Microsoft DirectX。