291
Chương 8: Đồ họa, đa phương tiện, và in ấn
Hình 8.1 Danh sách các font đã được cài đặt
2.
2.
Th c hi n “hit testing” v i shape
ự ệ
ớ
Th c hi n “hit testing” v i shape
ự ệ
ớ
Bạn cần nhận biết người dùng có nhắp vào trong một shape hay không.
Kiểm tra điểm mà người dùng đã nhắp vào bằng các phương thức như
Rectangle.Contains
và
Region.IsVisible
(thuộc không gian tên
System.Drawing
),
hoặc
GraphicsPath.IsVisible
(thuộc không gian tên
System.Drawing.Drawing2D
),
tùy vào kiểu của shape.
Thông thường, nếu sử dụng GDI+ để vẽ shape trên form, có thể bạn sẽ cần xác định xem khi
nào người dùng nhắp vào trong một shape cho trước. .NET Framework cung cấp ba phương
thức có thể thực hiện công việc này:
•
Phương thức
Rectangle.Contains
—nhận vào một điểm và trả về
true
nếu điểm này
nằm bên trong hình chữ nhật cho trước. Trong nhiều trường hợp, bạn có thể lấy được
hình chữ nhật đối với một kiểu shape khác. Ví dụ, bạn có thể sử dụng
Image.GetBounds
để lấy hình chữ nhật mô tả đường biên của shape. Cấu trúc
Rectangle
là thành viên của
không gian tên
System.Drawing
.
•
Phương thức
GraphicsPath.IsVisible
—nhận vào một điểm và trả về
true
nếu điểm
này nằm bên trong một vùng được định nghĩa bởi
GraphicsPath
khép kín. Vì một
GraphicsPath
có thể chứa nhiều line, shape, và figure nên cách này rất hữu ích nếu bạn
muốn kiểm tra một điểm có nằm bên trong một vùng không phải hình chữ nhật hay
không. Lớp
GraphicsPath
là một thành viên của không gian tên
System.Drawing.Drawing2D
.
•
Phương thức
Region.IsVisible
—nhận vào một điểm và trả về
true
nếu điểm này nằm
bên trong một vùng được định nghĩa bởi
Region
. Cũng giống như
GraphicsPath
,
Region
có thể mô tả một shape không phải hình chữ nhật.
Region
là một thành viên của không
gian tên
System.Drawing
.