1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Đồ họa trong.NET

13 40 0

Đ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

Nội dung

Bài giảng Đồ họa trong.NET trình bày chi tiết nội dung các vấn đề sử dụng GDI+, Các đối tượng đồ họa cơ sở, Các phép biến đổi, Tô màu các đối tượng cơ sở, Đường cong Bezier,... Mời các bạn tham khảo nội dung chi tiết của bài giảng!

Đồ họa NET ( Ngôn ngữ thể C#) I Sử dụng GDI+ ( đồ họa NET ) Nguyên tắc chung :  1.  Sử dụng thư viện:      System.Drawing hoặc System.Drawing.Drawing2D…trong .NET  FrameWork ( tùy vào lệnh )  2.  Để vẽ lên 1 Control bất kỳ ( Form, Panel, label…) có nhiều cách, nhưng  đơn giản nhất là: Graphics  = .CreateGraphics() ; …. [ các lệnh vẽ ] Chú ý : Gốc tọa độ sẽ là góc trái trên cùng của Control  bạn đang vẽ II Các đối tượng đồ họa sở        Có rất nhiều đối tượng đồ họa trong .NET, và lại có rất nhiều phương  thức để vẽ cho cùng 1 đối tượng đồ họa (Overloading), tuy nhiên ở đây  ta chỉ giới thiệu những phương thức thường dụng cho những đối tượng  cơ sở nhất 1. Đường thẳng qua 2 điểm: .DrawLine( Bút vẽ, điểm1, điểm2 ); .DrawLine( Bút vẽ, điểm1.X, điểm1.Y, điểm2.X, điểm2.Y ); 2. Đường gấp khúc qua n điểm: .DrawLines( Bút vẽ, mảng chứa các điểm ); 3. Đường polygon: .DrawPolygon( Bút vẽ, mảng chứa các điểm ); 4. Đường Ellipse: .DrawEllipse( Bút vẽ, hình chữ nhật mà Elip nội tiếp ); Chú ý: .NET khơng có lệnh vẽ đường tròn !! II Các đối tượng đồ họa sở 5. Hình quạt: .DrawPie( Bút vẽ, hình chữ nhật mà đường tròn nội tiếp, góc bắt  đầu, góc qt ); 6. Cung tròn: .DrawArc( Bút vẽ, hình chữ nhật mà đường tròn nội tiếp, góc bắt  đầu, góc qt ); 6. Hình chữ nhật: .DrawRectangle( Bút vẽ, điểm1.X, điểm1.Y, chiều dài, chiều rộng ); 7. Đường cong chính tắc bất kỳ: .DrawCurve( Bút vẽ, mảng các điểm ); .DrawCurve( Bút vẽ, mảng các điểm, offset, Số phân đoạn, độ  căng ); II Các đối tượng đồ họa sở 8. Đường cong bất ký khép kín: .DrawClosedCurve( Bút vẽ, mảng các điểm, độ căng, chế độ tơ  màu ); 9. Vẽ 1 hình ảnh: ( có đến 30 Overload !! ) .DrawImage( Hình ảnh, điểm vẽ );        Chú ý : Để hiển thị 1 phần hình ảnh (xén hình) ta có thể sử  dụng Overload sau: .DrawImage( Hình ảnh, điểm vẽ, hình chữ nhật xén, Đơn vị đồ  họa ); Đơn vị đồ họa có thể là Pixel,… 10. Viết 1 chuỗi: .DrawString( Chuỗi, Font, cọ vẽ, điểm viết ); Chú ý: .NET khơng có lệnh Putpixel !! III Các phép biến đổi ( Tranformation )        Nhớ lại : Gốc tọa độ sẽ là góc trái trên cùng của Control bạn đang  vẽ 1. Phép Tịnh tiến ( So với gốc tọa độ ):   .TranslateTransform( ∆x, ∆y ); [ …các lệnh vẽ ] 2. Phép Xoay ( So với gốc tọa độ ): .RotateTransform( Góc quay ); [ …các lệnh vẽ ] 3. Phép Co giãn: .ScaleTransform( Sx, Sy ); [ …các lệnh vẽ ] III Các phép biến đổi ( Tranformation ) Chú ý:       Nếu viết nhiều phép biến đổi liên tiếp nhau, thì  NET sẽ thực hiện lần lượt theo đúng thứ tự từ trên  xuống        Thứ tự các phép biến đổi là rất quan trọng ! III Các phép biến đổi ( Tranformation ) Nhớ lại: Trong kỹ thuật đồ họa ta có khái niệm ma trận các phép biến  đổi .NET cũng hỗ trợ, cho phép bạn tạo 1 ma trận tổng  hợp các phép biến đổi rất dễ dàng.  Always 0,0,1 Ma trận có dạng sau ( 3x3 ): Linear Part Translation Part 0 Để ý : Do Cột cố định, nên ta cần tham số đủ xác định ma trận III Các phép biến đổi ( Tranformation ) Mã lệnh tạo ra 1 ma trận các phép biến đổi: Matrix  = new Matrix( ∆x, ∆y, Sx, Sy   );   […các lệnh vẽ] Sức mạnh NET !! IV Tơ màu đối tượng sở 1.  Tơ màu hình chữ nhật : .FillRectangle( chổi vẽ, hình chữ nhật cần tơ ); 2.  Tơ hình Elip : .FillEllipse( chổi vẽ, hình chữ nhật mà Elip cần tơ nội  tiếp); 3.  Tơ Polygon : .FillPolygon ( chổi vẽ, mảng các điểm Polygon); V Đường cong Bezier P1 P3 P0 P2 1. Các phương thức vẽ đường Bezier thông dụng:  .DrawBezier(Bút vẽ, điểm0, điểm1, điểm2, điểm3);  .DrawBezier(Bút vẽ, mảng chứa 4 điểm); V Đường cong Bezier 2. Đường Bezier cộng tuyến :       Nếu muốn các đường cong Bezier kết nối với nhau mịn  màng thì 3 điểm sau phải được cộng tuyến ( cùng trên 1  đường thẳng ): • Điểm điều khiển thứ 2 của đường Bezier đầu tiên • Điểm kết cuối của đường Bezier đầu tiên ( cũng là điểm  kết đầu của đường Bezier thứ 2 ) • Điểm điều khiển đầu tiên của đường Bezier thứ 2 VI Kết luận • • Khả năng đồ họa trong .NET là rất mạnh Thư viện hỗ trợ tất cả các đối tượng đồ họa và phương thức  xử lý trên 2D ( và cả 3D )         ... Chú ý : Gốc tọa độ sẽ là góc trái trên cùng của Control  bạn đang vẽ II Các đối tượng đồ họa sở        Có rất nhiều đối tượng đồ họa trong .NET, và lại có rất nhiều phương  thức để vẽ cho cùng 1 đối tượng đồ họa (Overloading), tuy nhiên ở đây ... sử  dụng Overload sau: .DrawImage( Hình ảnh, điểm vẽ, hình chữ nhật xén, Đơn vị đồ họa ); Đơn vị đồ họa có thể là Pixel,… 10. Viết 1 chuỗi: .DrawString( Chuỗi, Font, cọ vẽ, điểm viết );... Điểm điều khiển đầu tiên của đường Bezier thứ 2 VI Kết luận • • Khả năng đồ họa trong .NET là rất mạnh Thư viện hỗ trợ tất cả các đối tượng đồ họa và phương thức  xử lý trên 2D ( và cả 3D )        

Ngày đăng: 30/01/2020, 06:45

TỪ KHÓA LIÊN QUAN