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

Bài giảng Lập trình trên Windows: Chương 4 - Trần Minh Thái

Chia sẻ: Cao Thi Ly | Ngày: | Loại File: PPTX | Số trang:35

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

Bài giảng Lập trình trên Windows: Chương 4 cung cấp cho người học các kiến thức: GDI+, các cấu trúc lưu trữ cơ bản, lớp graphics, sự kiện paint làm việc với pen và brush, làm việc với color, font và text, làm việc với image. Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình trên Windows: Chương 4 - Trần Minh Thái

  1. Lập trình Windows Chương 4. GDI+ 1
  2. Nội dung • GDI+ • Các cấu trúc lưu trữ cơ bản • Lớp Graphics • Sự kiện Paint • Làm việc với Pen và Brush • Làm việc với Color, Font và Text • Làm việc với Image 2
  3. GDI+ What is GDI+? • GDI+ cung cấp tập các lớp để hiện thực các chức năng đồ họa trong Windows Forms • GDI+ nằm trong System.Drawing.dll 3
  4. Tổng quan các lớp • Namespace • using System.Drawing • using System.Drawing.Drawing2D • Các lớp cơ bản • Point/Points • Rectangle/RectangleF • Size/SizeF • Color • Pen/Pens/SystemPens • Brush/Brushes/SystemBrushes • Font/FontFamily • Bitmap/Image/Icon • Graphics 4
  5. Các cấu trúc lưu trữ cơ bản
  6. Cấu trúc Point • Properties • X: int Point • Y: int • IsEmpty: bool • Methods • void Offset(int dx, int dy) Point p=new Point(2,5); 6
  7. Cấu trúc PointF • Properties • X: float PointF • Y: float • IsEmpty: bool PointF p=new PointF(2,5); 7
  8. Cấu trúc Size • Properties • Width: int Size • Height: int • IsEmpty: bool Size s=new Size(2,5); 8
  9. Cấu trúc SizeF • Properties • Width: float • Height: float • IsEmpty: bool SizeF • Methods: • Size ToSize() • PointF ToPointF() Size s=new Size(2,5); 9
  10. Cấu trúc Rectangle/ RectangleF §Properties • Width: int/float • Height : int/float RectangleF • Left, Top, Right, Bottom: int/float • X, Y: int/float • IsEmpty: bool §Methods • bool Contains(Point(F) p) • bool Contains(Rectangle(F) r) Rectangle rect2 = new Rectangle(20, 30, 30, 10); 10
  11. Cấu trúc Color • Được dùng để tạo màu cho các graphics trong GDI+. §141 màu: Color.AliceBlue Color.AntiqueWhite … Color.Yellow Color.YellowGreen §Pha màu: • Color Color.FromArgb(int r, int g, int b) • Color Color.FromArgb(int a, int r, int g, int b) 11
  12. Lớp Graphics
  13. Lớp Graphics • Lớp Graphics: thể hiện bề mặt vẽ GDI+ (control, bitmap) • Lấy đối tượng graphics • Cách 1: Override phương thức OnPaint() • Cách 2: Bắt sự kiện Paint • Cách 3: Dùng phương thức ctr.CreateGraphic() • Cách 4: Dùng phương thức tĩnh của Graphics: FromImage, FromHwnd, và FromHdc để vẽ trên bitmap, window handle và window handles của device context 13
  14. Lớp Graphics protected override void OnPaint(PaintEventArgs e) { Graphics g=e.Graphics; … base.OnPaint(e); } private void mainForm_Paint(object sender, PaintEventArgs e) { Graphics g=e.Graphics; … } 14
  15. Lớp Graphics private void PaintMe(Control testcontrol) { Graphics g=testcontrol.CreateGraphics(); . . . g.Dispose(); } protected override void OnPaint(PaintEventArgs e) { Bitmap bmp=new Bitmap("Water Lilies.jpg"); Graphics g = Graphics.FromImage(bmp); ... } 15
  16. Lớp Graphics • Lưu và phục hồi trạng thái đối tượng graphics Graphics g = … GraphicsState state = g.Save(); // Thao tác … g.Restore(state); 16
  17. Lớp Graphics 17
  18. Phương thức vẽ của lớp Graphics DrawArc DrawIcon DrawPath DrawIconUnstretche DrawBezier d DrawPie DrawBeziers DrawImage DrawPolygon DrawClosedCurve DrawImageUnscaled DrawRectangle DrawCurve DrawLine DrawRectangles DrawEllipse DrawLines DrawString 18
  19. Phương thức tô của lớp Graphics FillClosedCurve FillPie FillRectangles FillEllipse FillPolygon FillRegion FillPath FillRectangle 19
  20. Pen và Brush
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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