intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Lập trình trên môi trường WindowsGDI

Chia sẻ: Huongdanhoctot Huongdanhoctot | Ngày: | Loại File: PDF | Số trang:33

50
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Thực hiện vẽ trên môi trường .NET Cung cấp tập namespace, lớp hướng đối tượng lớn cho việc thực hiện vẽ Device Context được thay thế bằng đối tượng Graphic Mỗi control đều có đối tượng Graphic để vẽ nó, bao gồm Form, Button, TextBox,

Chủ đề:
Lưu

Nội dung Text: Lập trình trên môi trường WindowsGDI

  1. Lập trình trên môi trường Windows GDI+ Trần Duy Hoàng tdhoang@hcmus.edu.vn
  2. Nội dung Giới thiệu GDI+ Invalidate   Đối tượng Graphic Tạo form có hình dạng   bất kỳ Các hàm vẽ ● Kỹ thuật chống flicker Các hàm tô màu  ● Pen  Brush 
  3. Giới thiệu GDI+ Thực hiện vẽ trên môi trường .NET  Cung cấp tập namespace, lớp hướng đối tượng lớn  cho việc thực hiện vẽ Device Context được thay thế bằng đối tượng  Graphic Mỗi control đều có đối tượng Graphic để vẽ nó, bao  gồm Form, Button, TextBox, ….
  4. Các namespace Tên Mô tả System.Drawing Định nghĩa những đối tượng vẽ cơ bản (Fonts, Pens, Brushes,..) và đối tượng Graphic System.Drawing.Drawing2D Cung cấp những đối tượng vẽ vector 2 chiều như gradient brushes, gradient pens,.. System.Drawing.Image Thao tác với hình ảnh như thực hiện vẽ, lấy thông tin kích thước ảnh, … System.Drawing.Printing Thực hiện in; cung cấp những đối tượng giao tác với printer System.Drawing.Text Thực hiện vẽ với các font.
  5. Đối tượng Graphic Đối tượng quan trọng của GDI+  Mọi thao tác vẽ đều thực hiện trên đối tượng  Graphic Mọi control đều có thuộc tính Graphic dùng để vẽ  chính nó Có 2 cách truy xuất  Sự kiện Paint : e.Graphics.DrawLine(...) ● Hàm CreateGraphic() ảnh vẽ sẽ mất đi khi Form được ● Reload
  6. Đối tượng Graphic Ví dụ  private void Form1_Paint(object sender, PaintEventArgs e) { e.Graphics.DrawRectangle(Pens.Blue, 10, 10, 100, 100); }
  7. Đối tượng Graphic Danh sách các hàm vẽ  Hàm Ý nghĩa DrawArc Vẽ hình cung ellipse DrawEllipse Vẽ hình ellipse DrawLine Vẽ đường thẳng DrawPolygon Vẽ đa giác DrawRectangle Vẽ hình chữ nhật DrawString Vẽ chuổi DrawImage Vẽ hình ảnh
  8. Đối tượng Graphic Ví dụ :  // tạo bút vẽ Pen pen = new Pen(Color.Blue, 2); // vẽ đường từ điểm 0, 0 đến 100, 100 e.Graphics.DrawLine(pen, 0, 0, 100, 100);
  9. Đối tượng Graphic Ví dụ :  // tạo bút vẽ Pen pen = new Pen(Color.Blue, 2); // vẽ hình ellipse nằm trong hình chữ nhật // từ điểm 0,0 có độ rộng 300, cao 200 e.Graphics.DrawEllipse(pen, 0, 0, 300, 200);
  10. Đối tượng Graphic Ví dụ :  // tạo bút vẽ Pen pen = new Pen(Color.Blue, 2); // vẽ cung ellipse nằm trong hình chữ nhật // từ điểm 0,0 có độ rộng 300, cao 200 // vẽ từ góc 90 độ vẽ tiếp 180 độ e.Graphics.DrawArc(pen, 0, 0, 300, 200, 90, 180);
  11. Đối tượng Graphic Ví dụ :  // tạo bút vẽ Pen pen = new Pen(Color.Blue, 2); // vẽ hình chữ nhật từ điểm 0,0 // có độ rộng 300, cao 200 e.Graphics.DrawRectangle(pen, 10, 10, 300, 200);
  12. Đối tượng Graphic Ví dụ :  // tạo bút vẽ Pen pen = new Pen(Color.Blue, 2); // vẽ đa giác có 4 đỉnh 10,10 100,180 // 200,180 và 200,10 Point[] polygon = new Point[4]; polygon[0] = new Point(10, 10); polygon[1] = new Point(100, 180); polygon[2] = new Point(200, 180); polygon[3] = new Point(200, 10); e.Graphics.DrawPolygon(pen, polygon);
  13. Đối tượng Graphic Ví dụ :  // tạo bút vẽ Pen pen = new Pen(Color.Blue, 2); // vẽ hình bánh nằm trong hình chữ nhật // từ điểm 0,0 có độ rộng 300, cao 200 // vẽ từ góc 0 độ vẽ tiếp 90 độ e.Graphics.DrawPie(pen, 0, 0, 300, 200, 0, 90);
  14. Đối tượng Graphic Ví dụ :  // tạo bút vẽ Pen pen = new Pen(Color.Blue, 2); // tạo các điểm của đường cong Point start = new Point(100, 100); Point control1 = new Point(200, 50); Point control2 = new Point(350, 100); Point end = new Point(100, 300); // vẽ đường cong e.Graphics.DrawBezier(pen, start, control1, control2, end);
  15. Đối tượng Graphic Ví dụ :  // vẽ chuỗi tại vị trí 0,0 string text = "Hello world"; Font font = new Font("Arial", 16); e.Graphics.DrawString(text, font, Brushes.Blue, 0, 0); // vẽ hình tại vị trí 50,50 Bitmap image = new Bitmap("images/image1.jpg"); e.Graphics.DrawImage(image, 50, 50);
  16. Đối tượng Graphic Danh sách các hàm tô màu  Hàm Ý nghĩa FillEllipse Tô hình ellipse FillPie Tô hình bánh FillPolygon Tô đa giác FillRectangle Tô hình chữ nhật
  17. Đối tượng Graphic Ví dụ :  // Create solid brush. SolidBrush blueBrush = new SolidBrush(Color.Blue); // Fill rectangle to screen. e.Graphics.FillRectangle(blueBrush, 0, 0, 200, 200);
  18. Pen Dùng Pen có sẵn thông qua Pens  Pens.AliceBlue ● Pens.Aqua ● Pens.Black ● Pens.Brown ● … ● Dùng Pen do tự tạo thông qua lớp Pen  Pen pen = new Pen (Color.Red, 2)
  19. Brush Dùng Brush tự có  Brushes.Lavendar ● Brushes.Ivory ● Brushes.LightBlue ● TextureBrush: dùng ảnh image để vẽ  SolidBrush:Tạo cọ với màu đơn sắc 
  20. Brush Ví dụ : TextureBrush  Bitmap image = new Bitmap("images/image1.jpg"); TextureBrush texture = new TextureBrush(image); e.Graphics.FillEllipse(texture, 100, 100, 400, 200);
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2