Hello Kitty小畫家


參考課本第十四章實例3,加入ColorDialogButton,點擊按鈕跳出調色盤,讓使用者可以選擇畫筆顏色。

Button元件*4, PictureBox元件*2 ,ColorDialog元件*1

Hello Kitty

程式碼

Dim bmp1, bmp2 As New Bitmap(135, 105) '宣告為點陣圖(寬,高)
Dim p As New Pen(Color.Black, 2) '宣告p為畫筆(顏色,寬度)
Dim g As Graphics = Graphics.FromImage(bmp2)'宣告g為畫布而其來源為bmp2
Dim OldX, OldY As Integer '宣告記錄滑鼠指標座標的全域變數

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
???????????????'清空畫布
PictureBox2.Image = bmp2 '指定PictureBox2的圖形為bmp2
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
bmp1 = New Bitmap("D:\Kitty.bmp")'讀取檔案的位置
PictureBox1.Image = bmp1
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
???????????????'存放檔案的位置
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
???????????????'清空畫布
PictureBox2.Image = bmp2 '指定PictureBox2的圖形為bmp2
End Sub

 

Private Sub PictureBox2_MouseDown(ByVal sender As System.Object, ByVal e As System.MouseEventArgs) Handles PictureBox2_MouseDown
OldX = e.X '當滑鼠鍵被按下時,記錄滑鼠指標的座標值
OldY = e.Y
End Sub

Private Sub PictureBox2_MouseMove(ByVal sender As System.Object, ByVal e As System.MouseEventArgs) Handles PictureBox2.MouseMove
If e.Button = Windows.Forms.MouseButtons.Left Then'將先前記錄的滑鼠座標與目前新滑鼠座標連成直線
g.DrawLine(p, OldX, OldY, e.X, e.Y)'將畫線的bmp2顯示在PictureBox2
PictureBox2.Image = bmp2
OldX = e.X '再記錄滑鼠指標的座標值
OldY = e.Y
End If
End Sub

'加一button4按鈕來更換畫筆顏色

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
??????????????? '用調色盤選顏色
??????????????? '點選的顏色為畫筆的顏色
End Sub