Tài liệu GDI+ - ThS. Nguyễn Hà Giang doc

40 349 1
Tài liệu GDI+ - ThS. Nguyễn Hà Giang doc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 GDI + ThS. Nguyễn Giang Khoa CNTT Nguyen Ha Giang -2008 2 N i Dung n GDI+ n Chương trình vẽ cơ bản trên Form n Lớp Graphics và hàm OnPaint() n Lớp Color và Font n Lớp Pen và Brush n Các hàm vẽ đường thẳng, hình chữ nhật, ellipse n Các hàm vẽ cung, đa giác n Hiển thị ảnh n Minh họa Multimedia Nguyen Ha Giang -2008 3 GDI+ n GDI: Graphical Device Interface n GDI+ là API (Application programming interface) cung cấp các lớp cho phép q Tạo những đồ họa 2D vector q Thao tác trên font, chuỗi ký tự q Hiển thị các đường, hình và ảnh… n Thư viện FCL chứa các lớp thao tác vẽ trong namespace q System. Drawing n Tất cả các thao tác tô vẽ trên GUI đều thực hiện bởi chức năng GDI+ Nguyen Ha Giang -2008 4 System.Drawing structure class System.Drawing Font FontFamily 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 public partial class Form1 : Form { public Form1() { InitializeComponent(); } protected override void OnPaint(PaintEventArgs e) { Graphics g = e.Graphics; g.DrawString("Hello GDI!", Font, Brushes.Red, 20, 20); } } Nguyen Ha Giang -2008 6 Graphics n Lớp Graphics thể hiện q “ Abstract” drawing surface q Tập hợp những “ tool” cho phép thao tác trên surface đó n Để lấy đối tượng Graphics q Sử dụng thuộc tính Graphics được truyền cho OnPaint() q Sử dụng phương thức CreateGraphics() của control q Lấy từ đối tượng dẫn xuất từ Bitmap n Gọi hàm Invalidate() thay vì OnPaint() Nguyen Ha Giang -2008 7 L y i t ng Graphics protected override void OnPaint(PaintEventArgs paintevent) protected override void OnPaint(PaintEventArgs paintevent) { Graphics graf=paintevent.Graphics; } private void mainForm_Paint(object sender, PaintEventArgs 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 private void PaintMe(Control testcontrol) private void PaintMe(Control testcontrol) { Graphics graf=testcontrol.CreateGraphics(); . . . } protected override void OnPaint(PaintEventArgs 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 n Hiển thị text trong Graphics cụ thể q Có nhiều phiên bản q DrawString( String text, // Text thể hiện Font f, // Font Brush b, // Color & texture float x, float y);// vị trí góc trái trên q Tham số Font và Brush không có mặc định nên phải truyền vào. Nguyen Ha Giang -2008 10 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 [...]... Pens.Violet; Nguyen Ha Giang - 2008 16 Pen Nguyen Ha Giang - 2008 17 Brush n n n Dùng đ tô vùng bên trong c a hình L p Brush là l p abstract nên không t o th hi n S d ng các l p k th a sau đ t o brush q q q q n SolidBrush LinearGradientBrush TextureBrush HatchBrush S d ng l p Brushes đ nh nghĩa trư c các brush Nguyen Ha Giang - 2008 18 Brush Solid Hatch LinearGradient Texture Nguyen Ha Giang - 2008 19 Bursh... Giang - 2008 23 Image Nguyen Ha Giang - 2008 24 Image Ellipse được vẽ lên ảnh, rồi sau đó với vẽ ảnh lên Form Nguyen Ha Giang - 2008 25 Minh h a 1 n Custom l i n n c a Form Override phương thức OnPaintBackground của Form Nguyen Ha Giang - 2008 26 Form có d ng NonRectangle n T o form có hình d ng khác hình ch q q nh t S d ng thu c tính TransparencyKey c a Form S d ng các hi u ng màu đư c tô Nguyen Ha Giang. .. a 2 label s ti p v i n n bên dư i Nguyen Ha Giang - 2008 29 Form có d ng NonRectangle n Bư c 3: T o trình x Nguyen Ha Giang - 2008 lý cho s ki n Paint 30 Form có d ng NonRectangle n Demo Vùng của Form Vùng ngoài Form Nguyen Ha Giang - 2008 31 Form có d ng NonRectangle n B sung di chuy n form q Thêm namespace: n q System.Runtime.InteropServices; Load các hàm t DLL vào project public const int WM_NCLBUTTONDOWN... (Audio-video Interleave): video WAV (Windows Wave-file Format): audio MIDI (Musical Instrument Digital Interface): audio Nguyen Ha Giang - 2008 34 Multimedia n Bư c 1: b sung Windows Media Player vào ToolBox q q Kích chu t ph i vào ToolBox → ch n Choose Items… Trong Dialog Choose Toolbox Items ch n COM Components n q Ch n Windows Media Player Khi đó control WMP s hi n ToolBox Nguyen Ha Giang - 2008... = new Font("Arial", 1, GraphicsUnit.Inch); Size = 1 inch q N u tên font không tìm th y thì font m c đ nh đư c s d ng Nguyen Ha Giang - 2008 13 Font Nguyen Ha Giang - 2008 14 Font n Demo Time New Roman, 14 Arial, 36 Arial, Bold, Italic, 36 Impact, 1 inch Nguyen Ha Giang - 2008 15 Pen n n n Xác đ nh width, style, fill style Không cho k th a, nhưng t o th hi n đư c Trong namespace System.Drawing q n Pen... Windows Media Player Khi đó control WMP s hi n ToolBox Nguyen Ha Giang - 2008 dư i cùng c a 35 Multimedia n Bư c 2: kéo Windows Media Player th vào Form q Thi t l p Dock = Fill Dock = Fill Đổi tên control thành WMPlayer Nguyen Ha Giang - 2008 36 ... LinearGradient Texture Nguyen Ha Giang - 2008 20 Line, Rectangle, Ellipse n DrawLine q n DrawRectangle q n (Pen p, int x, int y, int width, int height) FillRectangle q n (Pen p, int x, int y, int width, int height) DrawEllipse q n (Pen p, int x1, int y1, int x2, int y2) (Brush b, int x, int y, int width, int height) FillEllipse q (Brush b, int x, int y, int width, int height) Nguyen Ha Giang - 2008 21 Line, Rectangle,... [DllImportAttribute("user32.dll")] public static extern bool ReleaseCapture(); Nguyen Ha Giang - 2008 32 Form có d ng NonRectangle n B sung code vào trình x MouseDown lý s ki n private void Form1_MouseDown(object sender, MouseEventArgs e) { ReleaseCapture(); SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0); } Nguyen Ha Giang - 2008 33 Multimedia n T o ng d ng ch a Windows Media Player control cho phép q... q g.PageScale = 1f (default) Nguyen Ha Giang - 2008 11 Color n S q n Color.Blue, Color.Red, Color.White… S q n d ng màu đư c đ nh nghĩa trong Color d ng màu đ nh nghĩa cho h th ng SystemColors.Control, SystemColors.ControlText… S q q q q d ng màu ARGB 32 bit đ th hi n màu A (alpha) th hi n m c đ trong su t (255 opaque) RGB là Red, Green và Blue T o màu s d ng hàm FromArgb() n n Color red = Color.FromArgb(255,0,0);... Giang - 2008 22 Image n L p Image hi n th các nh bitmap q n Phương th c static FromFile t o nh t file q q n Các d ng nh: *.bmp, *.gif, *.jpg, *.ico… Image img = Image.FromFile(“hutech.bmp”); Image img2 = Image.FromFile(“hutech.gif”); Phương th c DrawImage xu t nh lên Graphics q q g.DrawImage(img, 10, 10); G.DrawImage(img2, 10, 10, 100,100); // scale trong hình ch nh t kích thư c 100x100 Nguyen Ha Giang . 1 GDI + ThS. Nguyễn Hà Giang Khoa CNTT Nguyen Ha Giang -2 008 2 N i Dung n GDI+ n Chương trình vẽ cơ bản trên Form n Lớp Graphics và hàm OnPaint() n. inch Nguyen Ha Giang -2 008 14 Font Nguyen Ha Giang -2 008 15 Font n Demo Time New Roman, 14 Arial, 36 Arial, Bold, Italic, 36 Impact, 1 inch Nguyen Ha Giang -2 008 16 Pen n

Ngày đăng: 13/02/2014, 17:20

Hình ảnh liên quan

q Hiển thị các đường, hình và ảnh… - Tài liệu GDI+ - ThS. Nguyễn Hà Giang doc

q.

Hiển thị các đường, hình và ảnh… Xem tại trang 3 của tài liệu.
n Dùng để tô vùng bên trong của hình - Tài liệu GDI+ - ThS. Nguyễn Hà Giang doc

n.

Dùng để tô vùng bên trong của hình Xem tại trang 18 của tài liệu.
hình chữ nhật kích thước 100x100 - Tài liệu GDI+ - ThS. Nguyễn Hà Giang doc

hình ch.

ữ nhật kích thước 100x100 Xem tại trang 23 của tài liệu.
n Tạo form có hình dạng khác hình chữ nhật - Tài liệu GDI+ - ThS. Nguyễn Hà Giang doc

n.

Tạo form có hình dạng khác hình chữ nhật Xem tại trang 27 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan