Câu lạc bộ Tin học ứng dụng
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Kiểu dữ liệu Bitmap và những nét vẽ cơ bản

Go down

Kiểu dữ liệu Bitmap và những nét vẽ cơ bản Empty Kiểu dữ liệu Bitmap và những nét vẽ cơ bản

Bài gửi by thuanfun Mon May 10, 2010 12:44 pm

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ẽ:
Kiểu dữ liệu Bitmap và những nét vẽ cơ bản CS0.10553246_1_1

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
Admin

Tổng số bài gửi : 31
Join date : 20/04/2010
Age : 38

Về Đầu Trang Go down

Kiểu dữ liệu Bitmap và những nét vẽ cơ bản Empty Vẽ hình Ellipse

Bài gửi by thuanfun Mon May 10, 2010 3:02 pm

Mở một Project mới và thêm vào đó 1 Button tên là Button1, một PictureBox tên là PictureBox1:
Kiểu dữ liệu Bitmap và những nét vẽ cơ bản 3L0.10556401_1_1

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
Admin

Tổng số bài gửi : 31
Join date : 20/04/2010
Age : 38

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết