Lập trình đồ họa GDI+

34 695 13
Lập trình đồ họa GDI+

Đ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

Khoa CNTT CNPM LẬP TRÌNH ĐỒ HỌA GDI+ Phạm Hoàng Hải C# - Khoa CNTT CNPM LẬP TRÌNH ĐỒ HỌA GDI+  GDI+  Chương trình vẽ Form  Lớp Graphics hàm OnPaint()  Lớp Color Font  Lớp Pen 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 Phạm Hoàng Hải C# - Khoa CNTT CNPM LẬP TRÌNH ĐỒ HỌA GDI+  GDI: Graphical Device Interface  GDI+ API (Application programming interface) cung cấp lớp cho phép   Tạo đồ họa 2D vector  Thao tác font, chuỗi ký tự  Hiển thị đường, hình ảnh… Thư viện FCL chứa lớp thao tác vẽ namespace   System.Drawing Tất thao tác tô vẽ GUI thực chức GDI+ Phạm Hoàng Hải C# - Khoa CNTT CNPM LẬP TRÌNH ĐỒ HỌA GDI+ SYSTEM.DRAWING System.Drawing Font Graphics Color Point Rectangle Icon Size Pen Region HatchBrush Image Brush LinearGradientBrush PathGradientBrush SolidBrush TextureBrush class structure Phạm Hoàng Hải C# - Khoa CNTT CNPM 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); } } Phạm Hoàng Hải C# - Khoa CNTT CNPM TỌA ĐỘ HỆ THỐNG Gốc tọa độ (0,0) (w,0) (0,0) Form, Panel, GroupBox, File Bitmap … (0,h1) (w1,0) Control (w1,h1) (0,h) Phạm Hoàng Hải (w,h) C# - Khoa CNTT CNPM TỌA ĐỘ HỆ THỐNG   Graphics.PageUnit: xác định đơn vị bề mặt  GraphicsUnit.Pixel (default)  GraphicsUnit.Inch  GraphicsUnit.Milimeter  GraphicsUnit.Point Graphics.PageScale: tỷ lệ output  g.PageScale = 1f (default) Phạm Hoàng Hải C# - Khoa CNTT CNPM ĐỐI TƯỢNG GRAPHICS    Lớp Graphics thể  “Abstract” drawing surface  Tập hợp “tool” cho phép thao tác surface Để lấy đối tượng Graphics  Sử dụng thuộc tính Graphics truyền cho OnPaint()  Sử dụng phương thức CreateGraphics() control  Lấy từ đối tượng dẫn xuất từ Bitmap Gọi hàm Invalidate() thay OnPaint() Phạm Hoàng Hải C# - Khoa CNTT CNPM 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; } Phạm Hoàng Hải C# - Khoa CNTT CNPM 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(1024,768); Graphics graf = Graphics.FromImage (bmpimage); Lấy từ } ảnh Phạm Hoàng Hải C# - 10 Khoa CNTT CNPM BÚT VẼ - PEN  Xác định width, style, fill style  Không cho kế thừa, tạo thể  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 định nghĩa trước  Pen p3 = Pens.Violet; Phạm Hoàng Hải C# - 20 Khoa CNTT CNPM BÚT VẼ - PEN Phạm Hoàng Hải C# - 21 Khoa CNTT CNPM LINE – RECTANGLE - ELLIPSE  DrawLine   DrawRectangle   (Pen p, int x, int y, int width, int height) FillRectangle   (Pen p, int x, int y, int width, int height) DrawEllipse   (Pen p, int x1, int y1, int x2, int y2) (Brush b, int x, int y, int width, int height) FillEllipse  (Brush b, int x, int y, int width, int height) Phạm Hoàng Hải C# - 22 Khoa CNTT CNPM LINE – RECTANGLE - ELLIPSE Phạm Hoàng Hải C# - 23 Khoa CNTT CNPM IMAGE  Lớp Image hiển thị ảnh bitmap    Các dạng ảnh: *.bmp, *.gif, *.jpg, *.ico… Phương thức static FromFile tạo ảnh từ file  Image img = Image.FromFile(“hutech.bmp”);  Image img2 = Image.FromFile(“hutech.gif”); Phương thức DrawImage xuất ảnh lên Graphics  g.DrawImage(img, 10, 10);  G.DrawImage(img2, 10, 10, 100,100); // scale hình chữ nhật kích thước 100x100 Phạm Hoàng Hải C# - 24 Khoa CNTT CNPM IMAGE Phạm Hoàng Hải C# - 25 Khoa CNTT CNPM IMAGE Ellipse vẽ lên ảnh, sau với vẽ ảnh lên Form Phạm Hoàng Hải C# - 26 Khoa CNTT CNPM MINH HỌA  Hiệu chỉnh màu nền: Override phương thức OnPaintBackground Form Phạm Hoàng Hải C# - 27 Khoa CNTT CNPM MULTIMEDIA  Tạo ứng dụng chứa Windows Media Player control cho phép  Play file video sound theo nhiều dạng format  MPEG (Motion Pictures Expert Group): video  AVI (Audio-video Interleave): video  WAV (Windows Wave-file Format): audio  MIDI (Musical Instrument Digital Interface): audio Phạm Hoàng Hải C# - 28 Khoa CNTT CNPM MULTIMEDIA  Bước 1: bổ sung Windows Media Player vào ToolBox  Kích chuột phải vào ToolBox → chọn Choose Items…  Trong Dialog Choose Toolbox Items chọn COM Components  Chọn Windows Media Player  Khi control WMP ToolBox Phạm Hoàng Hải C# - 29 Khoa CNTT CNPM MULTIMEDIA  Bước 2: kéo Windows Media Player thả vào Form  Thiết lập Dock = Fill Dock = Fill Đổi tên control thành WMPlayer Phạm Hoàng Hải C# - 30 Khoa CNTT CNPM MULTIMEDIA  Bước 3: Tạo MenuStrip để bổ sung chức Open File media Phạm Hoàng Hải C# - 31 Khoa CNTT CNPM MULTIMEDIA  Bước 4: viết trình xử lý cho Menuitem Open Phạm Hoàng Hải C# - 32 Khoa CNTT CNPM MULTIMEDIA  Demo Phạm Hoàng Hải C# - 33 Khoa CNTT CNPM HỎI ĐÁP Phạm Hoàng Hải C# - 34 [...]... SolidBrush  LinearGradientBrush  TextureBrush  HatchBrush Sử dụng lớp Brushes định nghĩa trước các brush Phạm Hoàng Hải C# - 17 Khoa CNTT CNPM CHỔI VẼ - BRUSH Phạm Hoàng Hải C# - 18 Khoa CNTT CNPM 2 LẬP TRÌNH ĐỒ HỌA GDI+ Solid Hatch LinearGradient Texture Phạm Hoàng Hải C# - 19 Khoa CNTT CNPM BÚT VẼ - 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... 29 Khoa CNTT CNPM MULTIMEDIA  Bước 2: kéo Windows Media Player thả vào Form  Thiết lập Dock = Fill Dock = Fill Đổi tên control thành WMPlayer Phạm Hoàng Hải C# - 30 Khoa CNTT CNPM MULTIMEDIA  Bước 3: Tạo MenuStrip để bổ sung chức năng Open File media Phạm Hoàng Hải C# - 31 Khoa CNTT CNPM MULTIMEDIA  Bước 4: viết trình xử lý cho Menuitem Open Phạm Hoàng Hải C# - 32 Khoa CNTT CNPM MULTIMEDIA  Demo... thước 100x100 Phạm Hoàng Hải C# - 24 Khoa CNTT CNPM IMAGE Phạm Hoàng Hải C# - 25 Khoa CNTT CNPM IMAGE Ellipse được vẽ lên ảnh, rồi sau đó với vẽ ảnh lên Form Phạm Hoàng Hải C# - 26 Khoa CNTT CNPM MINH HỌA  Hiệu chỉnh màu nền: Override phương thức OnPaintBackground của Form Phạm Hoàng Hải C# - 27 Khoa CNTT CNPM MULTIMEDIA  Tạo ứng dụng chứa Windows Media Player control cho phép  Play các file video

Ngày đăng: 22/01/2016, 18:23

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

Tài liệu liên quan