Do Hoa

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 13

Đồ

Đồ họa
họa trong
trong .NET
.NET
(( Ngôn
Ngôn ngữ
ngữ thể
thể hiện
hiện C#)
C#)
I.I. Sử
Sử dụng
dụng GDI+
GDI+ (( đồ
đồ họa
họa của
của .NET
.NET ))

 Nguyên tắc chung :


1. Sử dụng thư viện:
System.Drawing hoặc System.Drawing.Drawing2D…trong .NET
FrameWork ( tùy vào lệnh ).
2. Để vẽ lên 1 Control bất kỳ ( Form, Panel, label…) có nhiều
cách, nhưng đơn giản nhất là:

Graphics <tên> = <tên Control>.CreateGraphics() ;


…. [ các lệnh vẽ ]

Chú ý : Gốc tọa độ sẽ là góc trái trên cùng của


Control bạn đang vẽ.
II.
II. Các
Các đối
đối tượng
tượng đồ
đồ họa
họa cơ
cơ sở
sở
Có rất nhiều đối tượng đồ họa trong .NET, và lại có rất nhiều
phương thức để vẽ cho cùng 1 đối tượng đồ họa (Overloading),
tuy nhiên ở đây ta chỉ giới thiệu những phương thức thường
dụng cho những đối tượng cơ sở nhất.
1. Đường thẳng qua 2 điểm:
<tên>.DrawLine( Bút vẽ, điểm1, điểm2 );
<tên>.DrawLine( Bút vẽ, điểm1.X, điểm1.Y, điểm2.X, điểm2.Y );
2. Đường gấp khúc qua n điểm:
<tên>.DrawLines( Bút vẽ, mảng chứa các điểm );
3. Đường polygon:
<tên>.DrawPolygon( Bút vẽ, mảng chứa các điểm );
4. Đường Ellipse:
<tên>.DrawEllipse( Bút vẽ, hình chữ nhật mà Elip nội tiếp );
Chú ý: .NET không có lệnh vẽ đường tròn !!
II.
II. Các
Các đối
đối tượng
tượng đồ
đồ họa
họa cơ
cơ sở
sở
5. Hình quạt:
<tên>.DrawPie( Bút vẽ, hình chữ nhật mà đường tròn nội tiếp,
góc bắt đầu, góc quét );
6. Cung tròn:
<tên>.DrawArc( Bút vẽ, hình chữ nhật mà đường tròn nội tiếp,
góc bắt đầu, góc quét );
6. Hình chữ nhật:
<tên>.DrawRectangle( Bút vẽ, điểm1.X, điểm1.Y, chiều dài,
chiều rộng );
7. Đường cong chính tắc bất kỳ:
<tên>.DrawCurve( Bút vẽ, mảng các điểm );
<tên>.DrawCurve( Bút vẽ, mảng các điểm, offset, Số phân đoạn,
độ căng );
II.
II. Các
Các đối
đối tượng
tượng đồ
đồ họa
họa cơ
cơ sở
sở
8. Đường cong bất ký khép kín:
<tên>.DrawClosedCurve( Bút vẽ, mảng các điểm, độ căng,
chế độ tô màu );
9. Vẽ 1 hình ảnh: ( có đến 30 Overload !! )
<tên>.DrawImage( Hình ảnh, điểm vẽ );
Chú ý : Để hiển thị 1 phần hình ảnh (xén hình) ta có
thể sử dụng Overload sau:
<tên>.DrawImage( Hình ảnh, điểm vẽ, hình chữ nhật xén,
Đơn vị đồ họa );
Đơn vị đồ họa có thể là Pixel,…
10. Viết 1 chuỗi:
<tên>.DrawString( Chuỗi, Font, cọ vẽ, điểm viết );

Chú ý: .NET không có lệnh Putpixel !!


III.
III. Các
Các phép
phép biến
biến đổi Tranformation
đổi (( Tr anformation ))
Nhớ lại : Gốc tọa độ sẽ là góc trái trên cùng của Control
bạn đang vẽ.

1. Phép Tịnh tiến ( So với gốc tọa độ ):


<tên>.TranslateTransform( ∆x, ∆y );
[ …các lệnh vẽ ]
2. Phép Xoay ( So với gốc tọa độ ):
<tên>.RotateTransform( Góc quay );
[ …các lệnh vẽ ]
3. Phép Co giãn:
<tên>.ScaleTransform( Sx, Sy );
[ …các lệnh vẽ ]
III.
III. Các
Các phép
phép biến
biến đổi
đổi (( Tranformation
Tranformation ))

Chú
Chú ý:ý:
Nếu
Nếu viết
viết nhiều
nhiều phép
phép biến
biến đổi
đổi liên
liên tiếp
tiếp nhau,
nhau,
thì
thì .NET
.NET sẽsẽ thực
thực hiện
hiện lần
lần lượt
lượt theo
theo đúng
đúng thứ
thứ
tự
tự từ
từ trên
trên xuống.
xuống.

Thứ
Thứ tự
tự các
các phép
phép biến
biến đổi
đổi là
là rất
rất quan
quan trọng
trọng !!
III.
III. Các
Các phép
phép biến
biến đổi
đổi (( Tranformation
Tranformation ))
Nhớ lại: Trong kỹ thuật đồ họa ta có khái niệm ma trận các phép
biến đổi.
 .NET cũng hỗ trợ, cho phép bạn tạo 1 ma trận
tổng hợp các phép biến đổi rất dễ dàng.

Ma trận có dạng sau ( 3x3 ): Always 0,0,1

Linear Part
0 Để ý : Do Cột 3
luôn cố định,
0 nên ta chỉ cần 6
Translation tham số là đủ
Part xác định ma trận
1
III.
III. Các
Các phép
phép biến
biến đổi
đổi (( Tranformation
Tranformation ))

Mã lệnh tạo ra 1 ma trận các phép biến đổi:

Matrix <tên> = new Matrix( ∆x, ∆y, Sx, Sy ... );


[…các lệnh vẽ]

Sức mạnh của


.NET !!
IV.
IV. Tô
Tô màu
màu các
các đối
đối tượng
tượng cơ
cơ sở
sở

1. Tô màu hình chữ nhật :


<tên>.FillRectangle( chổi vẽ, hình chữ nhật cần tô );
2. Tô hình Elip :
<tên>.FillEllipse( chổi vẽ, hình chữ nhật mà Elip cần
tô nội tiếp);
3. Tô Polygon :
<tên>.FillPolygon ( chổi vẽ, mảng các điểm Polygon);
V. Đường
V. Đường cong
cong Bezier
Bezier
P1

P3

P0

P2

1. Các phương thức vẽ đường Bezier thông dụng:


<tên>.DrawBezier(Bút vẽ, điểm0, điểm1, điểm2, điểm3);
<tên>.DrawBezier(Bút vẽ, mảng chứa 4 điểm);
V. Đường
V. Đường cong
cong Bezier
Bezier
2. Đường Bezier cộng tuyến :
Nếu muốn các đường cong Bezier kết nối với nhau
mịn màng thì 3 điểm sau phải được cộng tuyến
( cùng trên 1 đường thẳng ):
• Điểm điều khiển thứ 2 của đường Bezier đầu tiên.

• Điểm kết cuối của đường Bezier đầu tiên ( cũng là

điểm kết đầu của đường Bezier thứ 2 ).


• Điểm điều khiển đầu tiên của đường Bezier thứ 2.
VI.
VI. Kết
Kết luận
luận

•• Khả
Khả năng
năng đồ đồ họa
họa trong
trong .NET
.NET làlà rất
rất mạnh.
mạnh.
•• Thư
Thư viện
viện hỗ
hỗ trợ
trợ tất
tất cả
cả các
các đối
đối tượng
tượng đồđồ họa
họa và
và phương
phương
thức
thức xử
xử lý
lý trên
trên 2D
2D (( và
và cả
cả 3D
3D ).
).

You might also like