none
如何讓ppc上的vb程式執行gif動態圖檔? RRS feed

  • 問題

  • 小弟因研究需要在pda上寫了一個vb的程式   讓pda可讀取外插gps接收器的資訊  在特定地點時跳出圖示

    而vb在此功能似乎不支援執行gif圖檔   讓圖是跳出來時只會停留在第一張圖而不會動

    參考往上資源似乎都只有提供讓vb在pc上執行gif圖檔的方法   而沒有針對pda執行vb時做說明

    所以想請問板上的大大  若要讓pda在執行vb程式時能呈現gif動態圖檔   有什麼方法??

    小弟使用的pda是 HP iPAQ 2490b 作業系統是 Windows CE 5.0

    程式是用VB2005編輯的     請各位大大幫忙解惑  感激不盡  謝謝!!

    2008年5月11日 下午 04:12

解答

  • 嗨!

    我的方法是將 gif 圖拆了,分別置入 imagelist 物件裡,再利用 Timer 將 imagelist 裡的圖一張張的秀出來,

    即達到動態圖囉!

    我是用 C# 所以沒提供 VB Sample Code .

    Code Snippet

    //gif 有8張圖

    int intImag = 0;

     

    private void Timer_Tick(object sender, EventArgs e)
    {

      ImageAttributes _ImgAttr = new ImageAttributes();

     

      Rectangle destRect1 = new Rectangle(Math.Abs(120, 160, 48, 48);


      if (intImag < 8)
      {
        // Draw image to screen.
        G.DrawImage(this.imageList1.Images[intImag],destRect1,0,0,48,48,GraphicsUnit.Pixel, _ImgAttr);

     

        intImag ++;

     

        if (intImag > 7)
          intImag = 0;
      }

    }

     

    2008年5月14日 上午 03:48

所有回覆

  • 下面這篇也可以參考一下

     

    Creating a Microsoft .NET Compact Framework-based Animation Control

    http://msdn.microsoft.com/en-us/library/aa446483.aspx

     

    2008年5月12日 上午 03:52
    版主
  • 嗨!

    我的方法是將 gif 圖拆了,分別置入 imagelist 物件裡,再利用 Timer 將 imagelist 裡的圖一張張的秀出來,

    即達到動態圖囉!

    我是用 C# 所以沒提供 VB Sample Code .

    Code Snippet

    //gif 有8張圖

    int intImag = 0;

     

    private void Timer_Tick(object sender, EventArgs e)
    {

      ImageAttributes _ImgAttr = new ImageAttributes();

     

      Rectangle destRect1 = new Rectangle(Math.Abs(120, 160, 48, 48);


      if (intImag < 8)
      {
        // Draw image to screen.
        G.DrawImage(this.imageList1.Images[intImag],destRect1,0,0,48,48,GraphicsUnit.Pixel, _ImgAttr);

     

        intImag ++;

     

        if (intImag > 7)
          intImag = 0;
      }

    }

     

    2008年5月14日 上午 03:48