2014-11-16 265 views
2

我在可視化基本形式的PictureBox中使用漸變透​​明度鍵時出現問題。我想獲得一個良好的透明度,因爲它是在第一形式(PS) 這就是我所做的:vb帶漸變的透明背景

1 Drawed在Adobe Photoshop(CS6)的圖片與這些預設:

Photoshop preset

2-保存此選項畫面:

PNG Option

3-添加圖片到一個PictureBox在vb形式與藍色背景色

PictureBox with blue BackColor

4-更改形式TransparencyKey藍

TransparencyKey

5的(可怕的)結果:

Result

+0

我覺得問題在於,您的圖片本身具有透明度(漸變的紅色和黃色),因此與藍色合併爲不透明的顏色。不知道 - 但我希望它有助於找到答案。 – Index

+0

這種Photoshop效果無法工作,它使像素部分透明。這會改變背景顏色,將純藍色變成不再與顏色鍵匹配的藍色陰影。所以你可以看到它。您需要一個支持每像素Alpha透明度的窗口,只需將其放入Google。 –

回答

1

Form.TransparencyKey財產是不是真的你」重新尋找。它只會使圖像的部分透明,與您指定的顏色(Color.Blue,在您的情況下)完全匹配。這意味着圖像中漸變部分的紅色或黃色部分會與過濾器不匹配。

你可以嘗試的事情之一是讓你的表單與alpha混合繪製。這是一個library that lets you draw stuff with transparency,看起來像你想要的。 另外我挖了一個walkthrough on CodeProject。它涉及很多與表單互操作和操作系統聊天,這可能不是你的一杯茶。

請注意,系統Windows窗體用於繪製的GDI +有點慢,特別是繪製圖像時。我不知道你的項目是什麼樣子,但如果你要繪製大量的透明圖像,我建議朝着微軟DirectX尋找。