none
[VB2008][VB6]圖片格式與透明圖片背景問題 RRS feed

  • 問題

    1. 編譯器或直譯器: VB6 Ent. VB2008 Express
    2. 編譯器語系:繁中版
    3. 作業系統:WinXP Pro
    4. 作業系統語系:繁中版
    我想要做的軟體                                         
    主要功能是將圖片填色部位更換顏色                                   
    也就是類似圖層的方式                            
    最頂層是要填色部位的輪廓線                           
    下層是顏色塗層                                    
    透過開啟與關閉                                    
    來控制填什麼顏色                                                                             
    所以圖片需要是透明背景的格式                                                                               
    我有用VB6做出我要的功能
    可是因為VB6 不吃PNG檔案                                                                               
    我只好轉成GIF來做 可是畫質很差                                                                               
    後來換用VB2008 可以吃PNG檔案                                                                               
    原本想說解決問題了                                                                               
    結果卻發現更大的問題                                                                               
    PictureBox 不能與 PictureBox                                                                               
    兩個透明互相穿越                                                                               
    只能夠跟Form互相穿越                                                                              
    不知道該在VB2008上面
    要怎麼樣處理才可以達道我要的目的
    或是說VB6上面有外掛之類的 可以讓他支援PNG                                                                               
    如果不了解我要的功能                                                                               
    我可以傳VB6的程式給各位高手看看 謝謝
    2008年12月19日 下午 08:33

解答

所有回覆

  • 先在線上手冊搜尋透明,再在本版搜尋透明:

    http://forums.microsoft.com/MSDN-CHT/Search/Search.aspx?words=%u900f%u660e&localechoice=31748&SiteID=14&searchscope=forumscope&ForumID=232

     

    簡單的說,.Net 的 Form 透明可看到下層,但 PictureBox 透明會變成 Form 的底色。

     

    實作圖層透明有兩種方向:

    1. 在記憶體繪圖後直接疊再一起,又快又簡單。

    2. 覆寫 PictureBox 的 Paint 事件,透過 Path 裁減(線上手冊有範例),慢又會有鋸齒狀。

     

    2008年12月20日 上午 07:01
  • 感謝回覆,因為我是自學的沒上過課
    請教一下 如何透過記憶體繪圖後直接疊在一起
    我先依照你說線索的爬文看看 謝謝

    需求功能如圖片
    http://tw159134.myweb.hinet.net/vb.jpg
    2008年12月20日 上午 07:04
  • ...

    我也是自學沒上過課啊~

    這句話好像不是重點吧,既然你要用這個工具,不管有沒有上課都不重要。基本上我都會建議使用者先看過線上手冊,書跟上課如果不是要參加認證考試的,基本上可以免了。

     

    不管是用開發工具還是實際的電視機、電話,看線上手冊都是必要的吧...

     

    透明的做法線上手冊雖然有,但還算比較複雜的,就算看過,仍可能有需要討論,還算好的。有些問題就跟遙控器如何換台相同等級的,才更令人無言。

     

    2008年12月20日 上午 09:00
  • 不好意思 我爬完文還是不知道該怎麼弄...

    我是看這篇 http://forums.microsoft.com/msdn-cht/ShowPost.aspx?PostID=3021628&SiteID=14


    2008年12月20日 下午 04:09
  • ...

    直接用 Graphics.DrawImage 就可以將多張圖畫在同一張圖上。

     

    不知道你哪裡有問題?

     

    2008年12月21日 上午 02:33