Bài 4: Thao tác đồ họa trên .Net Compact Framework

Chia sẻ: Nguyen Duc Bau | Ngày: | Loại File: PPT | Số trang:37

0
132
lượt xem
52
download

Bài 4: Thao tác đồ họa trên .Net Compact Framework

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Cách 1: Sử dụng đối tượng G raphics được truyền vào trong tham số của hàm xử lý sự kiện Paint private void Form M ain_Paint(object sender, PaintEventArgs e) Cách 2: Tự tạo ra đối tượng G raphics (lưu ý: cần giải phóng vùng nhớ sau khi dùng xong) G raphics g = CreateG raphics(); // Draw g.Dispose(); Cách 3: sử dụng phương thức tĩnh G raphics.From Im age để nhận được đối tượng graphics của ảnh

Chủ đề:
Lưu

Nội dung Text: Bài 4: Thao tác đồ họa trên .Net Compact Framework

  1. Đại học Khoa học Tự nhiên, ĐHQG-HCM Khoa Công Nghệ Thông Tin Bài 4:Thao tác đồ họa trên .Net Compact Framework ThS. Trần Minh Triết 1
  2. Tham khảo .NET Compact Framework Programming with C#, Paul Yao, David Durant (2004), Prentice Hall PTR Chương 15 - .Net Compact Framework Graphics Chương 16 – Text and Fonts 2
  3. Đối tượng Graphics Cách 1: Sử dụng đối tượng G raphi được truyền vào cs trong tham số của hàm xử lý sự kiện Pai nt pr vat voi For M ai i e  d  m n_Pai ( ectsender   nt nt obj   ,Pai Event r e) A gs  { Gr aphi g  e. r cs  =  G aphics; /  aw /dr } Cách 2: Tự tạo ra đối tượng G raphi (lưu ý: cần giải cs phóng vùng nhớ sau khi dùng xong) Gr aphi g  C r eG r cs  =  eat aphi ) cs( ; /  r /D aw g. i D spose( ; ) Cách 3: sử dụng phương thức tĩnh G raphi From I age  ể cs. m đ nhận được đối tượng graphics của ảnh 3
  4. Xác định màu 3 cách để xác định màu Dùng màu hệ thống (Syst . r i Syst C ol s) em D aw ng. em or Dùng màu được định nghĩa sẵn Dùng bộ giá trị RGB 4
  5. Danh sách các màu được dùng trong hệ thống • A ctveB or i der • H i i Text ghlght • A ctveC apton i i • H ot ack Tr • A ctveC aptonText i i • I nactveB or i der • A ppW or kspace • I nactveC apton i i • C ont ol r • I nactveC aptonText i i • C ont ol ar r D k • I o nf • C ont ol ar ar r D kD k • I oText nf • C ont ol ght r Li • M enu • C ont ol ght ght r Li Li • M enuText • C ont ol r Text • Scr l ar olB • D eskt op • Wi ndow • Gr ayText • Wi ndow Fr e am • Hi i ghlght • Wi ndow Text Màu cụ thể tương ứng với mỗi hằng số sẽ thay đổi tùy theo từng hệ thống cụ thể 5
  6. Ví dụ pr vat voi For M ai i e  d  m n_Pai ( ectsender   nt nt obj   ,Pai Event r e) A gs  { Graphi g  e. r cs  =  G aphics; g. l ( C ear Syst C ol s. i em or W ndow ); } pr vat voi For M ai i e  d  m n_Pai ( ectsender   nt nt obj   ,Pai Event r e) A gs  { Graphi g  e. r cs  =  G aphi cs; g. l ( ol . C ear C or PapayaW hi ; p) } 6
  7. Ví dụ Hàm Fr A r (không có thành phần alpha trên .Net CF) om gb  publc  atc  ol   om A r  ntr  ntgr i st i C or Fr gb(i   ed,i   een,i   ue)    ntbl ; Ví dụ: pr vat voi For M ai i e  d  m n_Pai ( ectsender   nt nt obj   ,Pai Event r e) A gs  { Gr aphi g  e. r cs  =  G aphics; g. l ( ol . om A r 204, C ear C or Fr gb( 204, 204) ; )  } 7
  8. Tạo Brush Trên .Net CF chỉ hỗ trợ sold  ush và bim ap  ush i br t br Class: Syst . raw i SoldB rush  em D ng. i Constructor: publc  i r i SoldB ush(C ol   or ;   or col ) Vídụ:   Br ush  R ed  =  br    new   i r SoldB ush( ol . ed) C or R ; Br ush  G r br een =   new   i r SoldB ush( ol . om A r 0,255,0) ; C or Fr gb(     )  Br ush  W i br ndow Text=           new   i r SoldB ush( Syst C ol s. i em or W ndow Text ;  )  8
  9. Tạo bitmap Constructor tạo bitmap rỗng publc  im ap  ntw i h,i   ght ; i Bt (i   dt  nthei )   9
  10. Vẽ lên Bitmap pr vat voi C r eA ndD r (ntx,i   i e  d  eat aw i    nty) { /  r e  bim ap  /C eat a  t and  G r a  aphi obj  or t bim ap. cs  ectf  he  t B im ap  pN ew   new   im ap( t bm =  Bt 100, 100); Gr aphi gbm p  G r cs  =  aphi Fr I age( pN ew ) cs. om m bm ; /  l  he  t ap  /C ear t bim background. gbm p. l ( ol . ght r ; C ear C or Li G ay) /  eta  r /G   G aphi obj  or t f m . cs  ectf  he or Gr aphi g  C r eG r cs  =  eat aphi ) cs( ; /  opy he  t ap o he  i /C t bim t t w ndow    x,  ocaton. at( y)l i g. r I age( pN ew ,x,y) D aw m bm     ; /  l /C ean  w hen  e  e  up  w ar done. g. i D spose( ; ) gbm p. i D spose( ; ) bm pN ew . i D spose( ; ) } 10
  11. Tạo Bitmap từ file Constructor tạo B im ap từ file t publc  im ap   r ng ienam e)   i Bt (st i fl ; Các dạng file được hỗ trợ Bitmap (.bmp) (1, 4, 8, hay 24 bit màu) JPEG (.jpg) GIF (.gif) PNG (.png) Ví dụ: ty r { bm pN ew   new   im ap( r l am e) =  Bt st FieN ; } catch { M essageB ox. Show ( annotcr e  t ap r   l   +  "C   eat bim f om Fie:"  st FieN am e) r l ; 11 }
  12. Tạo Bitmap từ Resource pr vat B im ap  i e  t LoadB im apR esour st i st N am e) t ce( r ng  r { A ssem bl assem bl =  ssem bl G et y  y  A y. ExecutngA ssem bl ) i y( ; st i st R es  "Show B im ap. +  r am e; r ng  r =  t "  st N St eam   r r st eam  =  assem bl G et aniest esour y. M f R ceSt eam ( r es) r st R ; B im ap  p  nul; t bm =  l ty r { bm p  new   im ap( r =  B t st eam ); } cat { } ch    st eam . l r C ose( ; ) r ur bm p; et n  } 12
  13. Tạo Bitmap từ Resource (tt) pr vat voi D i i e  d  sposeB im ap( efB im ap  p) t r   t bm { i bm p =  l f( ! nul) { bm p. i D spose( ; ) } bm p  nul; =  l } pr vat voi m iem R esour i e  d  t ceC up_C lck( ectsender   i obj   ,Event r e) A gs  { DisposeB im ap( efbm pD r ) t r   aw ; bm pD r   LoadB im apR esour "C U P. M P") aw =  t ce( B ; I nvaldat ) i e( ; } 13
  14. Hiển thị Bitmap Các trường hợp sử dụng: Hiển thị toàn bộ bitmap với kích thước gốc Hiển thị một phần bitmap với kích thước gốc Hiển thị một phần bitmap với kích thước được thay đổi Hiển thị một phần bitmap với kích thước được thay đổi và có vùng trong suốt 14
  15. Hiển thị toàn bộ bitmap với kích thước gốc Hàm publc  d  r I age(I age m age,i    nty)   i voi D aw m  m i  ntx,i   ; Ví dụ: pr vat voi For M ai i e  d  m n_Pai ( ectsender   nt nt obj   ,Pai Event r e) A gs  { Graphi g  e. r cs  =  G aphics; i   =  ntx  10; i   =  nty  10; g. r I age( pD r ,x,y) D aw m bm aw     ; } 15
  16. Hiển thị một phần bitmap với kích thước gốc Hàm publc  d  r I age i voi D aw m (I age m age,i    nty,  m i  ntx,i        R ect     angl sr ect  r e  cR ,G aphi csU ni  cU ni)   tsr t; Trên .NetCF, tham số sr ni chỉ có một chọn lựa là  cU t Pixel 16
  17. Hiển thị một phần bitmap với kích thước được thay đổi Hàm: publc  d  r I age i voi D aw m (I age m age,R ect  m i   angl dest ect e  R ,   R ect    angl sr ect  r e  cR ,G aphi csU ni  cU ni)   tsr t; 17
  18. Hiển thị một phần bitmap với kích thước được thay đổi và có vùng trong suốt Hàm publc  d  r I age i voi D aw m (I age m age,R ect  m i   angl dest ect  e  R ,  i   cX,i   cY,i   cW i h,i   cH ei ,  ntsr  ntsr  ntsr dt  ntsr ght   G r   aphicsU ni  cU ni,I ageA t r but i ageA t r ; tsr t m t i es m t )  Lưu ý: tham số i gat   m tcho phép xác định dải màu sẽ được vẽ trong suốt khi hiển thị ảnh i gat . C ol K ey m tSet or ( ol . om A r r     ,C ol . om A r r     )   C or Fr gb( 1,g1,b1)  or Fr gb( 2,g2,b2) ; 1≤ ≤ 2, Những màu có giá trị (r, g, b) thỏa r r r     1≤ ≤ 3  g1≤ g≤ g2,r r r sẽ không được vẽ (tức là transparent) 18
  19. Thao tác đồ họa vector D r Eli aw lpse Vẽ đường viền ellipse (với viết được chọn) D r Li aw ne Vẽ đoạn thẳng (với viết được chọn) D r Pol aw ygon Vẽ đường biên đa giác (với viết được chọn) D r R ect aw angl e Vẽ đường biên hình chữ nhật (với viết được chọn) Fil lpse lEli Tô ellipse (với brush được chọn) Fil ygon lPol Tô đa giác (với brush được chọn) Fil ect lR angl e Tô hình chữ nhật (với brush được chọn) 19
  20. Tạo bút vẽ Class: Syst . raw i Pen  em D ng. Constructor: publc  i Pen(C ol   or ;   or col )   Ví dụ: /  /Pen r   syst   or f om a  em col Pen penC t l=  r   new   Pen(Syst C ol s. ont ol ar ; em or C r D k) /  /Pen r   nam ed  or f om a  col Pen penR ed =    new   Pen( ol . ed) C or R ; /  /Pen r   R G B   ue f om an  val Pen penB l =  ue  new   Pen( ol . om A r 0,0,255) ; C or Fr gb(     ) 20

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản