none
請問 如何讓Picturebox 裡的圖形 旋轉特定的角度?? RRS feed

  • 問題

  • 我寫了一個汽車導航的程式

    車子是用一個 Picturebox的物件來顯示的

    可是我希望車子在跑的時候

    螢幕上顯示的車子能夠指向特定的方向

    例如車往北走時  螢幕上的車子就指向北邊

    車往南走時  螢幕上的車子就指向南邊

    請問 我該怎麼作呢??

    2006年5月31日 上午 05:53

解答

  • Graphics.DrawImage(Image, 旋轉後的座標{3 個點})

    詳情可參查:

    Microsoft Windows 程式設計 - 使用 Visual Basic .NET p552 頁,你也可以參考其他部分,來使用其他方式達成你的目的。

    2006年5月31日 上午 11:45
    版主

所有回覆

  • Graphics.DrawImage(Image, 旋轉後的座標{3 個點})

    詳情可參查:

    Microsoft Windows 程式設計 - 使用 Visual Basic .NET p552 頁,你也可以參考其他部分,來使用其他方式達成你的目的。

    2006年5月31日 上午 11:45
    版主
  •  

    我後來找到了Graphics.RotateTransform 這個函數

    (將指定的旋轉套用至這個 Graphics的轉換矩陣)

    感覺好像可以用 可是 我怎麼試 圖片還是不會轉

        Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
            Dim BMPB As System.Drawing.Bitmap = New System.Drawing.Bitmap("c:\temp1.jpg") 
            Dim G As System.Drawing.Graphics
            G = System.Drawing.Graphics.FromImage(BMPB)       
            G.RotateTransform(180.0F)
            'G.Transform.Rotate(180)
            PictureBox1.Image = BMPB
        End Sub

    這個是我的程式碼 請問 是哪邊出了問題呢??

     

    2006年6月1日 上午 03:31
  • 上面那本建議你還是研讀一下。因為這個方法轉換的是座標的 mapping ,對後續的繪圖動作會產生作用,但對上層母物件屬性不生作用。

    你轉換後,也使用 DrawImage 就會受此屬性影響而改變,我自己不喜歡用這類屬性,因為會影響到文字輸出,比如說 DrawText 會跟著旋轉或翻轉。

    2006年6月1日 上午 05:39
    版主
  • 好低~~

    謝謝璉大

     

    2006年6月1日 上午 05:43
  • Dear Sir:

    試試看這個程式碼


      Dim Img As System.Drawing.Image
            Img = System.Drawing.Image.FromFile("c:\Blue hills.jpg")

            Dim TargetImg As New System.drawing.Bitmap(800, 600)
            Dim g As Graphics = Graphics.FromImage(TargetImg)
            Img.RotateFlip(System.Drawing.RotateFlipType.Rotate90FlipNone)
            g.DrawImage(Img, New Point(0, 0))
            PictureBox1.Image = TargetImg 

    2006年6月1日 上午 06:23