Tác giả: truongphu
Cấp độ bài viết: căn bản và nâng cao
Tóm tắt: Đề mục nầy dừng ở cấp căn bản và hơn một chút . Các cách dùng thông thường sẽ không được nhắc đến, chỉ viết về các điều ít được đề cập, qua đó vừa nâng cao các cách vẽ mới, vừa ôn lại cấu trúc vẽ cũ.
1- Lệnh Line với cấu trúc:
Object.Line Step (xStart, yStart)-[Step] (xEnd, yEnd), PenColour, BF
chú ý đối số BF cuối: B là tạo hình khung từ 2 điểm, F là phủ đầy màu. dùng F phải kèm B
*** Ứng dụng: Vẽ một điểm:
Vẽ một điểm là lệnh Line 1 pixel. Với 1 Pixel ta khó nhìn thấy, vậy thêm thành 4 pixel:
Code: Select all
Line (200, 200)-(204, 204), vbRed
vẫn không thấy! ta bao viền (ô 4x4) và đổ đầy màu đỏ:
Code: Select all
Line (200, 200)-(204, 204), vbRed, BF
lần nầy đã thấy, tiếc rằng quá nhỏ. Chơi luôn 20 pixel (ô 20x20):
Code: Select all
Line (500, 500)-(520, 520), vbBlue, BF
*** Vài lệnh vẽ đoạn thẳng quen dùng:
Vẽ đường ngang giữa Form
Code: Select all
Me.Line (0, Me.ScaleHeight / 2)-(Me.ScaleWidth, Me.ScaleHeight / 2)
Vẽ đường dọc giữa Form
Code: Select all
Me.Line (Me.ScaleWidth / 2, 0)-(Me.ScaleWidth / 2, Me.ScaleHeight)
Vẽ đường chéo trên-xuống
Code: Select all
Me.Line (0, 0)-(Me.ScaleWidth, Me.ScaleHeight)
Vẽ đường chéo dưới lên
Code: Select all
Me.Line (0, Me.ScaleHeight)-(Me.ScaleWidth, 0)
Vẽ hình vuông màu đỏ (ô 400x400)
Code: Select all
Me.Line (100, 100)-(500, 500), RGB(255, 0, 0), BF
2- Lệnh PSet với cấu trúc:
Object.PSet Step (x, y), Colour
Nếu dùng lệnh nầy đơn độc, cơ bãn ta không thấy được điểm 1 pixel như đã nói trên ở lệnh Line
*** Kết hợp lệnh Line để vẽ bằng chuột:
-> dùng Pset để tạo tọa độ ban đầu (Form_MouseDown)
-> dùng Line để vẽ đường liền (Form_MouseMove): tọa độ ban đầu bỏ (ngầm hiểu dùng tọa độ cũ)
[vb]Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
PSet (X, Y)
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbLeftButton Then Me.Line -(X, Y)
End Sub[/vb]
*** Kết hợp vòng lặp để vẽ vòng tròn bằng các dấu chấm:
[vb] Dim I, X, Y, BanKinh As Integer
'Set toa dô tâm
X = 1200
Y = 1200
BanKinh = 800
For I = 1 To 360
Picture1.PSet (X + Cos(I) * BanKinh, Y + Sin(I) * BanKinh)
Next[/vb]
(còn tiếp: Lệnh Circle)