none
VB2008下, 想放 - 會動的, 背景透明的gif檔? RRS feed

  • 問題

  • 前輩好:

    我使用的是VB2008

    我的問題在於想在Form上放一個 透明背景的,會動的(動畫的)Gif檔, 因為它是不規則的, 所以希望可以背景透明.

    我試了以下一些方法, 有兩種結果:

    結果1: 可以背景透明的, 動畫就不動了.

    結果2: 動畫會動的, 背景就不透明了.

     

    試過的方法如下:

    方法1: 把圖放入Picture box內

    方法2: 把圖放在Imagelist內,設TransparentColor

    方法3: 把圖放在Form上當背景圖, 設TransparencyKey

    方法4: Dim myBitmap As New Bitmap(PicPath)
             myBitmap.MakeTransparent(Color.White)
             e.Graphics.DrawImage(myBitmap, 0, 0, myBitmap.Width, myBitmap.Height)

     

    麻煩前輩指點, 如何才能做到 - 動畫會動,背景又透明.

    謝謝


    努力吸收新知的海綿~
    2011年7月13日 上午 12:46

解答

所有回覆

  • Hi:

    Step 1.我是拿以下網站蝴蝶的gif動畫圖片做測試(gif 本身就有透背)

    http://www.flash1890.com/news/?574.html

    Step 2.然後畫面上拉一個PictureBox,在屬性視窗設定BackColor>Web>Transparent (pictureBox設定透背)

    Step 3.然後Form_Load事件裡

    PictureBox1.Image = Image.FromFile("D:\a.gif")

    這樣是有達到您的效果


    Shadowと愉快なコード達


    2011年7月13日 上午 02:03
  • 謝謝Shadow大...蝴蝶真的可以耶....所以是我的Gif圖有問題.....

    對了, PictureBox,在屬性視窗設定BackColor>Web>Transparent (pictureBox設定透背)這個部份,  像是把背景放在PictureBox裡,而不是透明,它會變成乎略我原本在表單上的一些Label文字,

    請問這個部份如何解決??


    努力吸收新知的海綿~
    2011年7月13日 上午 02:51
  • 對了, PictureBox,在屬性視窗設定BackColor>Web>Transparent (pictureBox設定透背)這個部份,  像是把背景放在PictureBox裡,而不是透明,它會變成乎略我原本在表單上的一些Label文字,

    請問這個部份如何解決??


    努力吸收新知的海綿~

    Hi:

    您是說像下圖的test2一樣嗎?

    您得考慮用其他容器包Label控制項(Visual Studio左方工具箱的分類找"容器"),例如上圖我是用Panel
    pictureBox不適合當容器


    Shadowと愉快なコード達
    2011年7月13日 上午 03:52
  • 謝謝Shadow大...蝴蝶真的可以耶....所以是我的Gif圖有問題.....

    對了, PictureBox,在屬性視窗設定BackColor>Web>Transparent (pictureBox設定透背)這個部份,  像是把背景放在PictureBox裡,而不是透明,它會變成乎略我原本在表單上的一些Label文字,

    請問這個部份如何解決??

    需要將圖片放在 BackGroundImage Label 的透空才能透過去。

    其他狀況需要自己寫控制項,也可參考置定公告裡面的範例。


    T.L. Cheng
    2011年7月23日 上午 08:13
    版主