Lập trình windows C# - Chương 8
lượt xem 71
download
Tham khảo tài liệu 'lập trình windows c# - chương 8', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Lập trình windows C# - Chương 8
- GDI+ Nguyễn Văn Phong 1
- 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 Nguyễn Văn Phong - 2010 2
- 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 Thao tác trên font Hiển thị các ảnh Thư viện FCL chứa các lớp thao tác vẽ trong namespace 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+ Nguyễn Văn Phong - 2010 3
- System.Drawing System.Drawing class Font Color FontFamily structure Point Graphics Rectangle Icon Size Pen Region SolidBrush HatchBrush TextureBrush LinearGradientBrush Image PathGradientBrush Brush SolidBrush TextureBrush Nguyễn Văn Phong - 2010 4
- 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); } } Nguyễn Văn Phong - 2010 5
- Graphics Lớp Graphics thể hiện “Abstract” drawing surface Tập hợp những “tool” 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 phương thức CreateGraphics() của control Lấy từ đối tượng dẫn xuất từ Bitmap Gọi hàm Invalidate() thay vì OnPaint() Nguyễn Văn Phong - 2010 6
- Lấy đối tượng Graphics protected override void OnPaint(PaintEventArgs paintevent) { Graphics graf=paintevent.Graphics; } Từ tham số PaintEventAtgs private void mainForm_Paint(object sender, PaintEventArgs paintevent) { Graphics graf=paintevent.Graphics; } Nguyễn Văn Phong - 2010 7
- Lấy đối tượng Graphics private void PaintMe(Control testcontrol) { Graphics graf=testcontrol.CreateGraphics(); . . . } Lấy từ control protected override void OnPaint(PaintEventArgs paintevent) { Bitmap bmpimage=new Bitmap("hutech.jpg"); Graphics graf = Graphics.FromImage (bmpimage); ... } Lấy từ ảnh Nguyễn Văn Phong - 2010 8
- DrawString() method Hiển thị text trong Graphics cụ thể Có nhiều phiên bản DrawString( String text, // Text thể hiện Font f, // Font Brush b, // Color & texture Float x, y); // 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 vào. Nguyễn Văn Phong - 2010 9
- Tọa độ hệ thống G ố c t ọa độ (0,0) (w,0) (w1,0) (0,0) Control (0,h1) (w1,h1) Form, Panel, GroupBox (0,h) (w,h) Nguyễn Văn Phong - 2010 10
- Tọa độ hệ thống Graphics.PageUnit: xác định đơn vị của bề mặt GraphicsUnit.Pixel (default) GraphicsUnit.Inch GraphicsUnit.Milimeter GraphicsUnit.Point Graphics.PageScale: tỷ lệ output g.PageScale = 1f (default) Nguyễn Văn Phong - 2010 11
- Color Sử dụng màu được định nghĩa trong Color Color.Blue, Color.Red, Color.White… Sử dụng màu định nghĩa cho hệ thống SystemColors.Control, SystemColors.ControlText… Sử 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() Color red = Color.FromArgb(255,0,0); Color blue = Color.FromArgb(128, 0, 255, 0); Nguyễn Văn Phong - 2010 12
- Font Cách tạo đối tượng Font: new Font(…) Có 13 phiên bản của constructor Size = 8 pixel Font fa = new Font("Times New Roman", 8); Font fb = new Font("Arial", 36, FontStyle.Bold); Font fc = new Font(fb, FontStyle.Bold | FontStyle.Italic); Font fd = new Font("Arial", 1, GraphicsUnit.Inch); Size = 1 inch Nếu tên font không tìm thấy thì font mặc định được sử dụng. Nguyễn Văn Phong - 2010 13
- Font Nguyễn Văn Phong - 2010 14
- Font Demo Time New Roman, 14 Arial, 36 Arial, Bold, Italic, 36 Impact, 1 inch Nguyễn Văn Phong - 2010 15
- Pen 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 Pen p1 = new Pen(Color.Green); Pen p2 = new Pen(Color.blue, 10); Sử dụng lớp Pens có 141 pen được định nghĩa trước. Pen p3 = Pens.Violet; Nguyễn Văn Phong - 2010 16
- Pen Nguyễn Văn Phong - 2010 17
- Brush 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 SolidBrush LinearGradientBrush TextureBrush HatchBrush Sử dụng lớp Brushes định nghĩa trước các brush. Nguyễn Văn Phong - 2010 18
- Brush Solid Hatch LinearGradient Texture Nguyễn Văn Phong - 2010 19
- Bursh Demo Solid Hatch LinearGradien t Texture Nguyễn Văn Phong - 2010 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình Lập trình Window Phone (Module 1) - Trung tâm tin học ĐH KHTN
110 p | 252 | 80
-
Pro .NET 2.0 Windows Forms and Custom Controls in C#
0 p | 623 | 70
-
Lập trinh Windows bằng Visual C++ part 8
45 p | 145 | 57
-
Bài tập thực hành Lập trình trên môi trường Windows (Lập trình Windows Form với C#): Lab 8 - ĐH Công nghệ Tp.HCM
17 p | 304 | 52
-
giới thiệu hợp ngữ Assembler very good phần 8
19 p | 105 | 34
-
LẬP TRÌNH WINDOWS - CÁC KIỂU DỮ LIỆU CƠ BẢN TRONG WINDOWS
3 p | 535 | 32
-
giáo trình Java By Example phần 8
46 p | 96 | 28
-
giáo trình Acad phần 8
11 p | 62 | 18
-
ĐỒ ÁN TỐT NGHIỆP TÌM HIỂU NGÔN NGỮ C# VÀ VIẾT MỘT ỨNG DỤNG MINH HỌA PHẦN 8
21 p | 106 | 14
-
Bắt đầu với lập trình Java phần 8
45 p | 56 | 8
-
Tìm hiểu C# và ứng dụng của C# p 8
5 p | 99 | 8
-
Giáo trình Lập trình window 1 (Nghề: Lập trình máy tính - Trình độ Cao đẳng) - Trường Cao đẳng Nghề An Giang
87 p | 27 | 7
-
kỹ thuật lập trình C chuyên nghiệp phần 8
17 p | 59 | 6
-
Buit Windows By C.Net (Phần 2) part 8
10 p | 53 | 6
-
8 lý do không nên cài Windows 8 trên PC
7 p | 63 | 4
-
Mang giao diện Metro của Windows 8 vào Windows 7
7 p | 99 | 4
-
9 phần mềm hay cho Windows 8
9 p | 56 | 3
-
Xóa thư mục Windows.Old sau khi cài Windows 8
5 p | 75 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn