Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 38 trang
THÔNG TIN TÀI LIỆU
Cấu trúc
GDI+
Nội Dung
Slide 3
System.Drawing
Vẽ trên Form
Graphics
Lấy đối tượng Graphics
Slide 8
DrawString() method
Tọa độ hệ thống
Slide 11
Color
Font
Slide 14
Slide 15
Pen
Slide 17
Brush
Slide 19
Bursh
Line, Rectangle, Ellipse
Slide 22
Image
Slide 24
Slide 25
Minh họa 1
Form có dạng NonRectangle
Slide 28
Slide 29
Slide 30
Slide 31
Multimedia
Slide 33
Slide 34
Slide 35
Slide 36
Slide 37
Slide 38
Nội dung
1 GDI+ GDI+ ThS. Nguyễn Hà Giang Khoa CNTT - Hutech Nguyen Ha Giang - 2008 2 Nội Dung Nội Dung GDI+ Chương trình vẽ cơ bản trên Form Lớp Graphics và hàm OnPaint() Lớp Color và Font Lớp Pen và Brush Các hàm vẽ đường thẳng, hình chữ nhật, ellipse Các hàm vẽ cung, đa giác Hiển thị ảnh Minh họa Multimedia Nguyen Ha Giang - 2008 3 GDI+ GDI+ GDI: Graphical Device Interface GDI+ là API (Application programming interface) cung cấp các lớp cho phép T o nh ng đ h a 2D vectorạ ữ ồ ọ T o nh ng đ h a 2D vectorạ ữ ồ ọ Thao tác trên font Thao tác trên font Hi n th các nhể ị ả Hi n th các nhể ị ả Thư viện FCL chứa các lớp thao tác vẽ trong namespace System.Drawing System.Drawing Tất cả các thao tác tô vẽ trên form đều thực hiện bởi chức năng GDI+ Nguyen Ha Giang - 2008 4 System.Drawing System.Drawing structure class System.Drawing Font FontFamily Graphics Graphics Icon Pen Region SolidBrush TextureBrush Image Brush HatchBrush LinearGradientBrush PathGradientBrush SolidBrush TextureBrush Color Point Rectangle Size Nguyen Ha Giang - 2008 5 Vẽ trên Form Vẽ trên Form public partial class Form1 : Form { public Form1() { InitializeComponent(); } protected override void OnPaint(PaintEventArgs e) { Graphics g = e.Graphics; g. DrawString DrawString("Hello GDI!", Font, Brushes.Red, 20, 20); } } Nguyen Ha Giang - 2008 6 Graphics Graphics Lớp Graphics thể hiện “ “ Abstract Abstract ” drawing surface ” drawing surface T p h p nh ng “ậ ợ ữ T p h p nh ng “ậ ợ ữ tool tool ” cho phép thao tác trên surface đó ” cho phép thao tác trên surface đó Để lấy đối tượng Graphics S d ng thu c tính Graphics đ c truy n cho OnPaint()ử ụ ộ ượ ề S d ng thu c tính Graphics đ c truy n cho OnPaint()ử ụ ộ ượ ề S d ng ph ng th c CreateGraphics() c a controlử ụ ươ ứ ủ S d ng ph ng th c CreateGraphics() c a controlử ụ ươ ứ ủ L y t đ i t ng d n xu t t Bitmapấ ừ ố ượ ẫ ấ ừ L y t đ i t ng d n xu t t Bitmapấ ừ ố ượ ẫ ấ ừ Gọi hàm Invalidate() thay vì OnPaint() Nguyen Ha Giang - 2008 7 Lấy đối tượng Graphics Lấy đối tượng Graphics protected override void OnPaint(PaintEventArgs paintevent) { Graphics graf=paintevent.Graphics; } private void mainForm_Paint(object sender, PaintEventArgs paintevent) { Graphics graf=paintevent.Graphics; } Từ tham số PaintEventAtgs Nguyen Ha Giang - 2008 8 Lấy đối tượng Graphics Lấy đối tượng Graphics private void PaintMe(Control testcontrol) { Graphics graf=testcontrol.CreateGraphics(); . . . } protected override void OnPaint(PaintEventArgs paintevent) { Bitmap bmpimage=new Bitmap("hutech.jpg"); Graphics graf = Graphics.FromImage (bmpimage); } Lấy từ control Lấy từ ảnh Nguyen Ha Giang - 2008 9 DrawString() method DrawString() method Hiển thị text trong Graphics cụ thể Có nhi u phiên b nề ả Có nhi u phiên b nề ả DrawString( DrawString( String text, String text, // Text th hi nể ệ // Text th hi nể ệ Font f, Font f, // Font // Font Brush b, Brush b, // Color & texture // Color & texture Float x, y); Float x, y); // v trí góc trái trênị // v trí góc trái trênị Tham s Font và Brush không có m c đ nh nên ph i truy n ố ặ ị ả ề Tham s Font và Brush không có m c đ nh nên ph i truy n ố ặ ị ả ề vào. vào. Nguyen Ha Giang - 2008 10 Tọa độ hệ thống Tọa độ hệ thống (0,0) (w,0) (0,h) (w,h) Gốc tọa độ (0,0) (w 1 ,0) (0,h 1 ) (w 1 ,h 1 ) Form, Panel, GroupBox Control . 1 GDI+ GDI+ ThS. Nguyễn Hà Giang Khoa CNTT - Hutech Nguyen Ha Giang - 2008 2 Nội Dung Nội Dung GDI+ Chương trình vẽ cơ bản trên Form Lớp Graphics. cung, đa giác Hiển thị ảnh Minh họa Multimedia Nguyen Ha Giang - 2008 3 GDI+ GDI+ GDI: Graphical Device Interface GDI+ là API (Application programming interface) cung cấp các lớp cho phép. namespace System.Drawing System.Drawing Tất cả các thao tác tô vẽ trên form đều thực hiện bởi chức năng GDI+ Nguyen Ha Giang - 2008 4 System.Drawing System.Drawing structure class System.Drawing Font FontFamily Graphics Graphics Icon Pen Region SolidBrush TextureBrush Image Brush HatchBrush LinearGradientBrush PathGradientBrush SolidBrush TextureBrush Color Point Rectangle Size Nguyen