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

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 654,59 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

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!

Trang 1

Đồ họa trong NET

( Ngôn ngữ thể hiện C#)

Trang 2

I Sử dụng GDI+ ( đồ họa của NET )

Nguyên t c chung : Nguyên t c chung : ắ ắ

 1.  S  d ng th  vi n:1.  S  d ng th  vi n:ử ụử ụ ư ệư ệ

    System.Drawing ho c  ho c ặặ System.Drawing.Drawing2D…trong .NET 

FrameWork ( tùy vào l nh ).ệ

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 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à:ơ ả ấ

đ n gi n nh t là:ơ ả ấ

Graphics <tên> = <tên Control>.CreateGraphics() ;

…. [ các l nh v  ]. [ các l nh v  ]ệệ ẽẽ

Chú ý : G c t a đ  s  là góc trái trên cùng c a Control   G c t a đ  s  là góc trái trên cùng c a Control  ố ố ọ ọ ộ ẽ ộ ẽ ủ ủ

b n đang v ạ ẽ

b n đang v ạ ẽ

Trang 3

II Các đối tượng đồ họa cơ sở

       Có r t nhi u đ i t ng r t nhi u đ i t ng ấ ấ ề ề ố ượ ố ượ  đ  h a trong .NET, và l i có  đ  h a trong .NET, và l i có ồ ọồ ọ ạạ r t nhi u ph ng  r t nhi u ph ng  ấ ấ ề ề ươ ươ

th c ứ

th c ứ  đ  v  cho cùng 1 đ i t đ  v  cho cùng 1 đ i tể ẽể ẽ ố ượố ượng đ  h a (Overloading), tuy nhiên   đây 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 

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.ơ ở ấ

c  s  nh t.ơ ở ấ

1. Đ ườ ng th ng qua 2 đi m: ẳ ể

1. Đ ườ ng th ng qua 2 đi m: ẳ ể

<tên>.DrawLine( Bút v , đi m1, đi m2 );ẽ ể ể

<tên>.DrawLine( Bút v , đi m1, đi m2 );ẽ ể ể

<tên>.DrawLine( Bút v , đi m1.X, đi m1.Y, đi m2.X, đi m2.Y );ẽ ể ể ể ể

<tên>.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: ấ ể

2. Đ ườ ng g p khúc qua n đi m: ấ ể

<tên>.DrawLines( Bút v , m ng ch a các đi m );ẽ ả ứ ể

<tên>.DrawLines( Bút v , m ng ch a các đi m );ẽ ả ứ ể

3. Đ ườ ng polygon:

3. Đ ườ ng polygon:

<tên>.DrawPolygon( Bút v , m ng ch a các đi m );ẽ ả ứ ể

<tên>.DrawPolygon( Bút v , m ng ch a các đi m );ẽ ả ứ ể

4. Đ ườ ng Ellipse:

4. Đ ườ ng Ellipse:

<tên>.DrawEllipse( Bút v , hình ch  nh t mà Elip n i ti p );ẽ ữ ậ ộ ế

<tên>.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 !!

Chú ý: .NET không có l nh v  đ ệ ẽ ườ ng tròn !!

Trang 4

II Các đối tượng đồ họa cơ sở

5. Hình qu t: ạ

5. Hình qu t: ạ

<tên>.DrawPie( Bút v , hình ch  nh t mà đẽ ữ ậ ường tròn n i ti p, góc b t ộ ế ắ

<tên>.DrawPie( Bút v , hình ch  nh t mà đẽ ữ ậ ường tròn n i ti p, góc b t ộ ế ắ

đ u, góc quét );ầ

đ u, góc quét );ầ

6. Cung tròn:

<tên>.DrawArc( Bút v , hình ch  nh t mà đẽ ữ ậ ường tròn n i ti p, góc b t ộ ế ắ

<tê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 quét );ầ

đ u, góc quét );ầ

6. Hình ch  nh t: ữ ậ

6. Hình ch  nh t: ữ ậ

<tên>.DrawRectangle( Bút v , đi m1.X, đi m1.Y, chi u dài, chi u r ng );ẽ ể ể ề ề ộ

<tên>.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 : ắ ấ ỳ

7. Đ ườ ng cong chính t c b t k : ắ ấ ỳ

<tên>.DrawCurve( Bút v , m ng các đi m );ẽ ả ể

<tên>.DrawCurve( Bút v , m ng các đi m );ẽ ả ể

<tên>.DrawCurve( Bút v , m ng các đi m, offset, S  phân đo n, đ  ẽ ả ể ố ạ ộ

<tên>.DrawCurve( Bút v , m ng các đi m, offset, S  phân đo n, đ  ẽ ả ể ố ạ ộ

căng );

Trang 5

8. Đ ườ ng cong b t ký khép kín: ấ

8. Đ ườ ng cong b t ký khép kín: ấ

<tên>.DrawClosedCurve( Bút v , m ng các đi m, đ  căng, ch  đ  tô ẽ ả ể ộ ế ộ

<tê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 !! ) ẽ ả ế

9. V  1 hình  nh: ( có đ n 30 Overload !! ) ẽ ả ế

<tên>.DrawImage( Hình  nh, đi m v  );ả ể ẽ

<tên>.DrawImage( Hình  nh, đi m v  );ả ể ẽ

     Chú ý : Đ  hi n th  1 ph n hình  nh (xén hình) ta có th Chú ý : Đ  hi n th  1 ph n hình  nh (xén hình) ta có th ể ể ể ể ị ị ầ ầ ả ả ể ể s   s   ử ử

d ng Overload sau ụ

d ng Overload sau ụ :

<tên>.DrawImage( Hình  nh, đi m v , hình ch  nh t xén, Đ n v  đ  ả ể ẽ ữ ậ ơ ị ồ

<tên>.DrawImage( Hình  nh, đi m v , hình ch  nh t xén, Đ n v  đ  ả ể ẽ ữ ậ ơ ị ồ

h a );ọ

h a );ọ

Đ n v  đ  h a có th  là Pixel,… ơ ị ồ ọ ể

Đ n v  đ  h a có th  là Pixel,… ơ ị ồ ọ ể

10. Vi t 1 chu i: ế ỗ

10. Vi t 1 chu i: ế ỗ

<tên>.DrawString( Chu i, Font, c  v , đi m vi t );ỗ ọ ẽ ể ế

<tên>.DrawString( Chu i, Font, c  v , đi m vi t );ỗ ọ ẽ ể ế

Chú ý: .NET không có l nh Putpixel !! ệ

Chú ý: .NET không có l nh Putpixel !! ệ

II Các đối tượng đồ họa cơ sở

Trang 6

       Nh  l i :Nh  l i : ớ ạ ớ ạ  G c t a đ  s  là góc trái trên cùng c a Control b n đang   G c t a đ  s  là góc trái trên cùng c a Control b n đang  ố ọ ố ọ ộ ẽ ộ ẽ ủ ủ ạ ạ

v ẽ

v ẽ

1. Phép T nh ti n ( So v i g c t a đ  ):   ị ế ớ ố ọ ộ

1. Phép T nh ti n ( So v i g c t a đ  ):   ị ế ớ ố ọ ộ

<tên>.TranslateTransform( ∆x, ∆y );

[ …các l nh v  ]ệ ẽ

[ …các l nh v  ]ệ ẽ

2. Phép Xoay ( So v i g c t a đ  ): ớ ố ọ ộ

2. Phép Xoay ( So v i g c t a đ  ): ớ ố ọ ộ

<tên>.RotateTransform( Góc quay );

[ …các l nh v  ]ệ ẽ

[ …các l nh v  ]ệ ẽ

3. Phép Co giãn:

<tên>.ScaleTransform( Sx, Sy );

[ …các l nh v  ]ệ ẽ

[ …các l nh v  ]ệ ẽ

III Các phép biến đổi ( Tr anformation )

Trang 7

      N u vi t nhi u phép bi n đ i liên ti p nhau, thì  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  ứ ự ừ

.NET s  th c hi n l n l ẽ ự ệ ầ ượ t theo đúng th  t  t  trên  ứ ự ừ

xu ng ố

xu ng ố

  

    Th  t  các phép bi n đ i là r t quan tr 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 )

Trang 8

Nh  l i ớ ạ

Nh  l i ớ ạ : Trong k  thu t đ  h a ta có khái ni m ma tr n các phép bi n   Trong k  thu t đ  h a ta có khái ni m ma tr n các phép bi n  ỹ ỹ ậ ồ ọ ậ ồ ọ ệ ệ ậ ậ ế ế

đ i ổ

đ 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 ợ ế ổ ấ ễ

Ma tr n có d ng sau ( 3x3 ): ậ ạ

Ma tr n có d ng sau ( 3x3 ): ậ ạ

III Các phép biến đổi ( Tranformation )

0 0 1

Always 0,0,1

Linear Part

Translation

Part

Để ý : Do Cột 3

luôn cố định, nên ta chỉ cần 6 tham số là đủ xác định ma trận

Trang 9

Mã l nh t o ra 1 ma tr n các phép bi n đ i: ệ ạ ậ ế ổ

Mã l nh t o ra 1 ma tr n các phép bi n đ i: ệ ạ ậ ế ổ

Matrix <tên> = new Matrix( ∆x, ∆y, Sx, Sy   );  

III Các phép biến đổi ( Tranformation )

Sức mạnh của

.NET !!

Trang 10

1.  Tô màu hình ch  nh t : ữ ậ

2.  Tô hình Elip :

3.  Tô Polygon :

IV Tô màu các đối tượng cơ sở

Trang 11

1. Các ph ươ ng th c v  đ ứ ẽ ườ ng Bezier thông d ng: ụ

 <tên>.DrawBezier(Bút v , đi m0, đi m1, đi m2, đi m3);ẽ ể ể ể ể  <tên>.DrawBezier(Bút v , m ng ch a 4 đi m);ẽ ả ứ ể

P0

P1

P3

P2

Trang 12

2. Đ ườ ng Bezier c ng tuy n : ộ ế

Trang 13

• Kh  năng đ  h a trong .NET là r t m nh Kh  năng đ  h a trong .NET là r t m nh ả ả ồ ọ ồ ọ ấ ấ ạ ạ

• Th  vi n h  tr  t t c  các đ i t Th  vi n h  tr  t t c  các đ i t ư ệ ư ệ ỗ ợ ấ ả ỗ ợ ấ ả ố ượ ố ượ ng đ  h a và ph ng đ  h a và ph ồ ọ ồ ọ ươ ươ ng th c  ng th c  ứ ứ

       

VI Kết luận

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

TỪ KHÓA LIÊN QUAN