Lập trình windows C# - Chương 8 ppt

38 1.1K 15
Lập trình windows C# - Chương 8 ppt

Đ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+ GDI+ Nguyễn Văn Phong Nguyễn Văn Phong - 2010 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 Nguyễn Văn Phong - 2010 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  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 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 Nguyễn Văn Phong - 2010 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); } } Nguyễn Văn Phong - 2010 6 Graphics Graphics  Lớp Graphics thể hiện  “ Abstract Abstract” drawing surface  Tập hợp những “ tool 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 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 Nguyễn Văn Phong - 2010 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 Nguyễn Văn Phong - 2010 9 DrawString() method DrawString() method  Hiển thị text trong Graphics cụ thể  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 vào. Nguyễn Văn Phong - 2010 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 [...]... video WAV (Windows Wave-file Format): audio MIDI (Musical Instrument Digital Interface): audio Nguyễn Văn Phong - 2010 32 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 sẽ hiện ở dưới cùng của ToolBox Nguyễn Văn Phong - 2010 33 Multimedia... Văn Phong - 2010 29 Form có dạng NonRectangle  Bước 3: Tạo trình xử lý cho sự kiện Paint Nguyễn Văn Phong - 2010 30 Form có dạng NonRectangle  Demo Vùng của Form Vùng ngoài Form Nguyễn Văn Phong - 2010 31 Multimedia  Tạo ứng dụng chứa Windows Media Player control cho phép  Play các file video và sound theo nhiều dạng format     MPEG (Motion Pictures Expert Group): video AVI (Audio-video Interleave):... Nguyễn Văn Phong - 2010 27 Form có dạng NonRectangle  Bước 1:   Tạo ứng dụng Windows Application Thiết kế Form có dạng như sau FormBorderStyle = none Nguyễn Văn Phong - 2010 28 Form có dạng NonRectangle  Bước 2:  Thiết lập các thuộc tính cho Form như sau:    TransparencyKey = Control: màu sẽ trong suốt khi vẽ trên Form FormBorderStyle = None: Form không có đường biên Thiết lập màu nền cho 2... Nguyễn Văn Phong - 2010 33 Multimedia  Bước 2: kéo Windows Media Player thả vào Form  Thiết lập Dock = Fill rag D Dock = Fill Đổi tên control thành WMPlayer Nguyễn Văn Phong - 2010 34 Multimedia  Bước 3: Tạo MenuStrip để bổ sung chức năng Open File media Nguyễn Văn Phong - 2010 35 Multimedia  Bước 4: viết trình xử lý cho Menuitem Open Nguyễn Văn Phong - 2010 36 ... 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... Green và Blue Tạo màu sử dụng hàm FromArgb()   Color red = Color.FromArgb(255,0,0); Color blue = Color.FromArgb(1 28, 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... 10, 10, 100,100); // scale trong hình chữ nhật kích thước 100x100 Nguyễn Văn Phong - 2010 23 Image Nguyễn Văn Phong - 2010 24 Image Ellipse được vẽ lên ảnh, rồi sau đó với vẽ ảnh lên Form Nguyễn Văn Phong - 2010 25 Minh họa 1  Custom lại nền của Form Override phương thức OnPaintBackground của Form Nguyễn Văn Phong - 2010 26 Form có dạng NonRectangle  Tạo form có hình dạng khác hình chữ nhật   Sử... 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  ... Texture Nguyễn Văn Phong - 2010 20 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) Nguyễn Văn Phong - 2010 21 Line, Rectangle,... 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) Nguyễn Văn Phong - 2010 21 Line, Rectangle, Ellipse Nguyễn Văn Phong - 2010 22 Image  Lớp Image hiển thị các ảnh bitmap   Phương thức static FromFile tạo ảnh từ file    Các dạng ảnh: *.bmp, *.gif, *.jpg, *.ico… Image img = Image.FromFile(“hutech.bmp”); Image img2 . = 8 pixel Size = 1 inch Nguyễn Văn Phong - 2010 14 Font Font Nguyễn Văn Phong - 2010 15 Font Font  Demo Time New Roman, 14 Arial, 36 Arial, Bold, Italic, 36 Impact, 1 inch Nguyễn Văn Phong -. 1 GDI+ GDI+ Nguyễn Văn Phong Nguyễn Văn Phong - 2010 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. nghĩa trước.  Pen p3 = Pens.Violet; Pen p3 = Pens.Violet; Nguyễn Văn Phong - 2010 17 Pen Pen Nguyễn Văn Phong - 2010 18 Brush Brush  Dùng để tô vùng bên trong của hình  Lớp Brush là lớp Abstract

Ngày đăng: 28/07/2014, 20:20

Từ khóa liên quan

Mục lụ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

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

Tài liệu liên quan