作者GoodTauSo (Do live Loop)
看板GameDesign
標題[程式] 如何做到真正的透明色 by vb.net?
時間Mon Apr 19 15:53:58 2010
歹勢,我在把問題描述詳細一點,
這次我google了一隻瑪莉歐,
首先我用photoimpact存成gif,並設定透明色,如下圖
http://www.wretch.cc/album/show.php?i=kensirom&b=11&f=1208290598&p=5
接著我用了兩個picturebox分別代表兩個角色,
使用transparent屬性分別將兩個控制項背景變成透明,語法如下
PictureBox1.BackColor = System.Drawing.Color.Transparent
PictureBox2.BackColor = System.Drawing.Color.Transparent
執行效果如下,兩隻瑪莉歐的背景變透明了
http://www.wretch.cc/album/show.php?i=kensirom&b=11&f=1208290597&p=4
後來發現,其實它的透明只是去截取背景圖來補欲透明的顏色,不是真正透明
只要兩個角色一接近,就破功了
http://www.wretch.cc/album/show.php?i=kensirom&b=11&f=1208290595&p=2
實際上我想要的效果應該是這樣
http://www.wretch.cc/album/show.php?i=kensirom&b=11&f=1208290596&p=3
這樣角色之間才能互動(攻擊,聊天,交易等...)
要如何做到真正的透明呢?
工具:VB.NET 2008
--
test
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.53.194
→ Splash5:直接把你的圖用png檔存成帶alpha的圖就好了吧.. 04/19 16:27
→ Splash5:不過奇怪的是你的圖如果原本不帶alpha.. 就算picturebox 04/19 16:27
→ Splash5:的backcolor設成透明色也不應該會有透明效果才對.. 04/19 16:28
→ Splash5:如果你的圖有帶alpha.. 那就把另一個picturebox的 04/19 16:29
→ Splash5:backcolor也設成透明色不就好了orz.. 04/19 16:29
推 ferretwind:你把先到的用paintpicrute畫到背景上好了 一3一 04/19 16:34
→ GoodTauSo:我用的是gif透明索引,無效= =" 04/19 16:46
→ chenglap:不要用 control, 就算做到也會很慢. 04/19 16:50
※ 編輯: GoodTauSo 來自: 140.114.53.194 (04/19 17:17)
推 F23ko:開gdi直接上! 不要用picturebox! 04/19 17:18
→ Splash5:我是覺得先求有(picturebox) 再求好(gdi+) XD.. 04/19 20:26
→ Splash5:不過話說.net畫圖後面其實最後也會call gdi.. 04/19 20:37