none
建立圖形物件問題 RRS feed

  • 問題

  • http://msdn.microsoft.com/zh-tw/library/5y289054.aspx

    上面網址連結到的網頁有下面的說明------------------------------------

    下列範例顯示如何使用 Bitmap 物件:

    Visual Basic
    Dim myBitmap as New Bitmap("C:\Documents and Settings\Joe\Pics\myPic.bmp")
    Dim g as Graphics = Graphics.FromImage(myBitmap)
    


    我寫的程式碼如下...我想在Picture1中顯示97.jpg的圖

    Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
          Dim mypic As New Bitmap("E:\97.jpg")
          Dim g1 As Graphics = Graphics.FromImage(mypic)  
          g1.DrawImage(mypic, 1, 1)
    End Sub

    結果PictureBox1並沒有顯示那張圖片
    請大家幫忙一下
    謝謝
    2009年6月4日 下午 09:12

解答

  • 補充說明一下,以你的這段程式碼來說
    Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
          Dim mypic As New Bitmap("E:\97.jpg")
          Dim g1 As Graphics = Graphics.FromImage(mypic)   
          g1.DrawImage(mypic, 1, 1)
    End Sub
    

    雖然產生了一個graphic,也呼叫了drawimnage,但是這個graphic不屬於任何控制項,所以不知道要畫到那邊去,也就是你看不到圖的原因。
    要把圖畫到PictureBox有很多種方式,可以參考上面兩位先進的說明,以你的例子來說,在Paint事件中要利用 "e" 去做繪圖的動作,例如

    e.Graphics.DrawImage(myImg, 0, 0)


    態度決定一切 ! - blog : http://bauann-makeit.blogspot.com/
    • 已標示為解答 jcLove 2009年6月7日 上午 08:49
    2009年6月5日 上午 10:28
    版主

所有回覆

  •         Me.PictureBox1.Image = mypic

    這樣就可以了吧...
    2009年6月4日 下午 10:53
  • 在 MSDN 中的 PictureBox.Image 屬性 內,就有不錯的範例

        pictureBox1.Size = New Size(210, 110)
        Me.Controls.Add(pictureBox1)
    
    
        Dim flag As New Bitmap(200, 100)
        Dim flagGraphics As Graphics = Graphics.FromImage(flag)
        Dim red As Integer = 0
        Dim white As Integer = 11
        While white <= 100
            flagGraphics.FillRectangle(Brushes.Red, 0, red, 200, 10)
            flagGraphics.FillRectangle(Brushes.White, 0, white, 200, 10)
            red += 20
            white += 20
        End While
        pictureBox1.Image = flag  ' 你少的是這個
    


    2009年6月4日 下午 11:59
    版主
  • 補充說明一下,以你的這段程式碼來說
    Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
          Dim mypic As New Bitmap("E:\97.jpg")
          Dim g1 As Graphics = Graphics.FromImage(mypic)   
          g1.DrawImage(mypic, 1, 1)
    End Sub
    

    雖然產生了一個graphic,也呼叫了drawimnage,但是這個graphic不屬於任何控制項,所以不知道要畫到那邊去,也就是你看不到圖的原因。
    要把圖畫到PictureBox有很多種方式,可以參考上面兩位先進的說明,以你的例子來說,在Paint事件中要利用 "e" 去做繪圖的動作,例如

    e.Graphics.DrawImage(myImg, 0, 0)


    態度決定一切 ! - blog : http://bauann-makeit.blogspot.com/
    • 已標示為解答 jcLove 2009年6月7日 上午 08:49
    2009年6月5日 上午 10:28
    版主
  • 感謝版主詳細的回覆
    我就是在想
    有畫圖阿
    為何又看不到

    也感謝大家的幫忙

    2009年6月7日 上午 08:49