Kiểu dữ liệu Bitmap và những nét vẽ cơ bản
Trang 1 trong tổng số 1 trang
Kiểu dữ liệu Bitmap và những nét vẽ cơ bản
Kiểu Bitmap là kiểu dữ liệu trong đó dữ liệu là một bức ảnh. Bức ảnh không đồng nghĩa với một file ảnh trong máy tính.
Để xem được ảnh Bitmap, ta có thể gán nó vào thuộc tính Image của PictureBox.
Khai báo:
Dim Ten_Anh As Bitmap
Với dòng khai báo trên, ta đã định nghĩa Ten_bien là một Bức ảnh (Bitmap). Tuy nhiên nó chưa có kích thước, nội dung ảnh, ........
Để tạo một Bitmap mới với kích thước và nội dung ta có nhiều cách, sau đây là 2 cách cơ bản:
1. Load từ file ảnh có sẵn:
Ten_Anhn = New Image (Đường_Dẫn_Tới_File_Ảnh)
VD: Ten_Anh = New Image("C:\anh1.jpg")
Khi đó kích thước và nội dung của ảnh Ten_Anh sẽ lấy theo Kích thước và nội dung của file ảnh mà nó Load.
2. Tạo ảnh mới
Ten_Anh = New Bitmap (Width, Height)
Khi đó ảnh Ten_Anh sẽ có kích thước chiều ngang là Width, chiều dọc là Height. Kích thước là các số nguyên dương.
Bức ảnh này chưa có nội dung, có nghĩa là một bức ảnh chỉ toàn màu "trắng" (thực ra là một bức ảnh không có màu nào cả)
Vẽ lên Bitmap Ten_Anh
Sau khi Ten_Anh đã có kích thước cụ thể, ta có thể bắt đầu vẽ.
Tọa độ 4 góc của Bitmap được thể hiện như hình vẽ:
Với mỗi Bitmap, Chúng ta chỉ có thể vẽ trong miền 0 <= x <= Width -1 ; 0 <= y <= Height -1 . Nếu vẽ ra khỏi vùng này sẽ xảy ra lỗi.
Để vẽ lên Bitmap Ten_Anh 1 điểm có tọa độ (x,y) với màu Color nào đó chúng ta dùng lệnh:
Ten_Anh.SetPixel(x, y, Color)
Ví dụ: Ten_Anh.SetPixel(10, 10, Color.Red)
Để vẽ các đường đặc biệt ( đường thẳng, elip, .......) chúng ta sẽ khởi động chế độ đồ họa cho bitmap Ten_Anh.
Khai báo biến đồ họa:
Dim Ten_Bien_DoHoa As Graphics
Khởi động chế độ đồ họa cho Ten_Anh
Ten_Bien_DoHoa =Graphics.FromImage(Ten_Anh)
Vẽ đường thẳng:
Ten_Bien_DoHoa.DrawLine(Màu, x1, y1, x2, y2)
Vẽ hình chữ nhật:
Ten_Bien_DoHoa.DrawRectangle (Màu ,x, y, Rộng ,Cao)
Vẽ (viết) một dòng chữ:
Ten_Bien_DoHoa.DrawString ( Xâu_Ký_Tự, Font_Chữ, Màu, x , y )
Để xem được ảnh Bitmap, ta có thể gán nó vào thuộc tính Image của PictureBox.
Khai báo:
Dim Ten_Anh As Bitmap
Với dòng khai báo trên, ta đã định nghĩa Ten_bien là một Bức ảnh (Bitmap). Tuy nhiên nó chưa có kích thước, nội dung ảnh, ........
Để tạo một Bitmap mới với kích thước và nội dung ta có nhiều cách, sau đây là 2 cách cơ bản:
1. Load từ file ảnh có sẵn:
Ten_Anhn = New Image (Đường_Dẫn_Tới_File_Ảnh)
VD: Ten_Anh = New Image("C:\anh1.jpg")
Khi đó kích thước và nội dung của ảnh Ten_Anh sẽ lấy theo Kích thước và nội dung của file ảnh mà nó Load.
2. Tạo ảnh mới
Ten_Anh = New Bitmap (Width, Height)
Khi đó ảnh Ten_Anh sẽ có kích thước chiều ngang là Width, chiều dọc là Height. Kích thước là các số nguyên dương.
Bức ảnh này chưa có nội dung, có nghĩa là một bức ảnh chỉ toàn màu "trắng" (thực ra là một bức ảnh không có màu nào cả)
Vẽ lên Bitmap Ten_Anh
Sau khi Ten_Anh đã có kích thước cụ thể, ta có thể bắt đầu vẽ.
Tọa độ 4 góc của Bitmap được thể hiện như hình vẽ:
Với mỗi Bitmap, Chúng ta chỉ có thể vẽ trong miền 0 <= x <= Width -1 ; 0 <= y <= Height -1 . Nếu vẽ ra khỏi vùng này sẽ xảy ra lỗi.
Để vẽ lên Bitmap Ten_Anh 1 điểm có tọa độ (x,y) với màu Color nào đó chúng ta dùng lệnh:
Ten_Anh.SetPixel(x, y, Color)
Ví dụ: Ten_Anh.SetPixel(10, 10, Color.Red)
Để vẽ các đường đặc biệt ( đường thẳng, elip, .......) chúng ta sẽ khởi động chế độ đồ họa cho bitmap Ten_Anh.
Khai báo biến đồ họa:
Dim Ten_Bien_DoHoa As Graphics
Khởi động chế độ đồ họa cho Ten_Anh
Ten_Bien_DoHoa =Graphics.FromImage(Ten_Anh)
Vẽ đường thẳng:
Ten_Bien_DoHoa.DrawLine(Màu, x1, y1, x2, y2)
Vẽ hình chữ nhật:
Ten_Bien_DoHoa.DrawRectangle (Màu ,x, y, Rộng ,Cao)
Vẽ (viết) một dòng chữ:
Ten_Bien_DoHoa.DrawString ( Xâu_Ký_Tự, Font_Chữ, Màu, x , y )
thuanfun- Admin
- Tổng số bài gửi : 31
Join date : 20/04/2010
Age : 38
Vẽ hình Ellipse
Mở một Project mới và thêm vào đó 1 Button tên là Button1, một PictureBox tên là PictureBox1:
DoubleClick vào Button1 để mở cửa sổ Code và viết code như sau:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim bm As Bitmap ' Khai báo biến ảnh tên là bm
bm = New Bitmap(100, 100) ' đặt kích thước cho bm
Dim gr As Graphics ' khai báo biến dồ họa tên là gr
gr = Graphics.FromImage(bm) ' khởi động chế độ đồ họa cho bm
gr.DrawEllipse(Pens.Red, 50, 50, 30, 40) ' Vẽ một Elip lên bm
PictureBox1.Image = bm ' Gán bức ảnh bm vào thuộc tính Image của PictureBox1
End Sub
End Class
Download Project
DoubleClick vào Button1 để mở cửa sổ Code và viết code như sau:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim bm As Bitmap ' Khai báo biến ảnh tên là bm
bm = New Bitmap(100, 100) ' đặt kích thước cho bm
Dim gr As Graphics ' khai báo biến dồ họa tên là gr
gr = Graphics.FromImage(bm) ' khởi động chế độ đồ họa cho bm
gr.DrawEllipse(Pens.Red, 50, 50, 30, 40) ' Vẽ một Elip lên bm
PictureBox1.Image = bm ' Gán bức ảnh bm vào thuộc tính Image của PictureBox1
End Sub
End Class
Download Project
thuanfun- Admin
- Tổng số bài gửi : 31
Join date : 20/04/2010
Age : 38
Similar topics
» Các kiểu dự liệu hay dùng
» Một số tài liệu hướng dẫn lập trình VB.NET
» Tổng hợp những chiếc vỏ ốp hot nhất cho Galaxy S3
» Cách chữa rụng tóc từ nguyên liệu đơn giản tại nhà
» Phát hiện Pin dự phòng "rởm" từ những điều đơn giản
» Một số tài liệu hướng dẫn lập trình VB.NET
» Tổng hợp những chiếc vỏ ốp hot nhất cho Galaxy S3
» Cách chữa rụng tóc từ nguyên liệu đơn giản tại nhà
» Phát hiện Pin dự phòng "rởm" từ những điều đơn giản
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|