Thư viện đồ hoạ trong java ppt

30 1.2K 6
Thư viện đồ hoạ trong java ppt

Đ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

§å häa AWT trong java Học viện công nghệ bưu chính viễn thông C08CNTT 2 Tháng 3/2010 http://www.mediafire.com/?hz7rf8jbvvnlnht Nội dung:  Lớp Graphics  Vẽ hình học  Vẽ chữ  Vẽ ảnh  Chế độ vẽ  Lớp Color  Vùng cắt  Các lớp tiện ích khác  Lớp Graphics 2D <Java1.4>  Vẽ hình học  Nét vẽ  Chế độ vẽ  Tô loang  Vẽ ảnh trong suốt  Biến đổi tọa độ trong Java2D Lớp Graphics  Khái quát:  Khi muốn vẽ 1 hình gì chúng ta dùng đến đối tượng Graphics, đối tượng Graphics như cây cọ phết lên Frame, Canvas hay Applet.  Muốn vẽ hình thường chúng ta phải cài đặt phương thức: public void paint(Graphics g){}  Phương thức: repaint() dùng để vẽ lại hình ảnh (thực chất là repaint() gọi đến phương thức update() sau đó gọi đến phương thức paint())  Nếu chỉ muốn vẽ lại 1 phần ta sử dụng phương thức: repaint ( int x, int y,i nt width, int height ) Lớp Graphics 1.Vẽ hình học:  Gồm:  Vẽ hình chữ nhật  Vẽ Elip, vòng tròn  Vẽ đa giác  Vẽ đường thẳng  Vẽ hình chữ nhật tròn góc  Vẽ cung tròn Lớp Graphics 1.Vẽ hình học:  Giới thiệu hệ tọa độ:  Vẽ hình chữ nhật: drawRect(int x, int y,int width,int height) fillRect(int x, int y,int width,int height) clearRect(int x, int y,int width,int height) Màn hình (800,0) (0,600) (0,0) X Y (800,600) filldraw (Width ) (Height) (x,y) VD: public void paint (Graphics g) { g. drawRect(20, 30,50,50); } Lớp Graphics 1.Vẽ hình học:  Vẽ đường thẳng: drawLine(int x1, int y1, int x2, int y2) (x1,y1) (x2,y2)  Vẽ vòng tròn, elip: drawOval (int x, int y, int width, int height) fillOval (int x, int y, int width, int height) + Đường tròn: width= height filldraw (Width) (Height) (x,y) Lớp Graphics 1.Vẽ hình học:  Vẽ hình chữ nhật tròn góc: drawRoundRect (int x, int y, int width, int height, int arcWidth, int arcHeight) fillRoundRect (int x, int y, int width, int height, int arcWidth, int arcHeight) (arcWidth) (arcHeight) Lớp Graphics 1.Vẽ hình học:  Vẽ đa giác: drawPolygon ( int[] x, int[] y, int numberPoint ) drawPolygon (Polygon p)  Lớp polygon: - Cung cấp khả năng tạo Polygon yển chuyển hơn. Đa giác được xem như 1 đối tượng. - Có thể thêm đỉnh nhờ phương thức addPoint. Polygon pg=new Polygon(); pg.addPoint(2,50); g.drawPolygon(pg); - Phương thức contains(int x,int y) để kiểm tra 1 điểm có nắm trong đa giác không. - Phương thức getBounds() cho biết phạm vi tối đa ma các đỉnh chiếm giữ (trả về kiểu Rectangle) Lớp Graphics 1.Vẽ hình học:  Vẽ cung tròn: drawArc( int x, int y, int width, int height, int startAngle, int arcAngle); fillArc( int x, int y, int width, int height, int startAngle, int arcAngle); (width) Fill Arc startAngle arcAngle (x,y) (height) Draw Arc Lớp Graphics 2.Vẽ chữ:  Vẽ mảng ký tự <Char>: drawChars ( char[] Data, int Offset, int Length, int x, int y) Data: Mảng ký tự cần vẽ. Offset: Ký tự bắt đầu. Length: Số ký tự cần vẽ. char[] A={ ‘H’ , ‘e’ , ‘l’ , 'l‘ , ‘o’ , ‘!’ }; g.drawChars (A , 0 , A.length , 50 , 50); • Cách khác: drawBytes( byte[] Data, int Offset, int Length, int x, int y) Data: Mảng byte (biểu diễn mã ASCII). VD: byte[] B={ 65, 66, 67, 68, 69 }; // “ A , B , C , D , E ” g.drawChars (B , 0 , A.length , 50 , 50); [...]... năng  đồ họa  của  Java đã  nêu  trong Slide,  Java còn  có  khả  năng  xử  lý  ảnh,  tạo  hiêu  ứng  chữ,  mở  Video…  nâng  cao  hơn  là  Java3 D,  đó  là  những  đề  tài  khá  phức  tạp  về  đồ họa.  Thời  gian  có  hạn  nên  chúng  tôi  không  thể  nghiên cứu hết, rất mong được sự góp ý của thầy  và các bạn ! Phụ lục:  *** Tài liệu tham khảo *** • Java Tập1 – Nhà xuất bản lao động • OReilly Java Cookbook 2nd Edition... Thay đổi được độ dày của nét bút vẽ. Các nét vẽ có thể dùng  mẫu, cho phép xử lý các nét vẽ gấp khúc theo nhiều cách  Các phép biến đổi tọa độ  Hình vẽ (Shape) có thể là 1 đối tượng tự vẽ Lớp Graphics 2D 1.Các dạng hình học trong Java2 D  Các lớp đối tượng hình học của Java2 D  (trong gói java. awt.geom):   Line2D.Double //Đường thẳng  Arc2D.Double  //Cung tròn  Line2D.Float  Arc2D.Float  Polygon //Đa giác  Area //Vùng  QuadCurve2D.Double  //Cung góc tư... báo đối số của phương thức paintComponent vẫn sẽ là Graphics  công khai là đồ thị. Vì vậy bạn phải ép kiểu đối số của phương  thức paintComponent thành Graphics2D trước khi sử dụng nó:  public void paint(Graphics g)     {      Graphics2D g2=(Graphics2D)g; } Lớp Graphics 2D  Các tính năng mới của Graphics2D:  Đa dạng trong màu tô và mẫu tô: tô loang (Gradient), tô bằng  mẫu ảnh (pattern), tô màu ảnh trong suốt (Transparent)  Sử dụng font đặc thù theo từng hệ điều hành... Graphics2D chứa 1  tập  phong phú các hàm và phương  thức vẽ  đồ họa hơn hẳn lớp Graphics. Chẳng hạn như: Graphics2D cho  phép  quy  định  chiều  rộng  bút  vẽ,  kiểu  nét  vẽ,  các  phương  thức  xử lý hình, vẽ và tô màu loang, cho phép sử dụng Font chữ của  máy cục bộ, hỗ trợ hệ tọa độ động, và 1 số thao tác biến đổi toạ  độ. Tuy nhiên để duy trì tính tương thích với Java 1.1, kiểu khai  báo đối số của phương thức paintComponent vẫn sẽ là Graphics ... Ellipse2D.Double //Hình tròn, elip  Rectangle2D.Float  Ellipse2D.Float  RoundRectangle2D.Double //Hình CN   GenrralPath //Vẽ cung  RoundRectangle2D.Float  Góc tròn Lớp Graphics 2D 1.Các dạng hình học trong Java2 D (tt) Line2D.Double:Khởi tạo: setLine( int x1, int y1, int x2, int y2 ) Arc2D.Double :Khởi tạo: setArc( x, y, w, h, angStart, angNum, closure) Ellipse2D.Double: Khởi tạo: setFrame( x, y, w, h);... g2.draw(a);  // Ve Line g2.draw(c);  //Xem thu vung cat g2.clip(c);    // Cat bang hinh c g2.setColor(Color.magenta);// Doi mau g2.fillRect(10,50,50,50);     // Ve hinh CN     Lớp Graphics 2D 1.Các dạng hình học trong Java2 D (tt)  Dạng hình học đặc biệt: GenrralPath:Vẽ cung GeneralPath p = new GeneralPath(GeneralPath.WIND_EVEN_ODD); (x3,y3) Curve:  p.moveTo(x1,y1); (x2,y2)  p.curveTo(x2,y2, x3,y3, x4,y4); Quad:... Rectangle rt=new Rectangle(); rt.setRect(0,0,a.getWidth(this),a.getHeight(this)); TexturePaint gr=new TexturePaint(e,rt); g2.setPaint(gr); g2.fillOval(50,50,200,200); Lớp Graphics 2D 4.Vẽ ảnh trong suốt: • Để vẽ ảnh trong suốt ta dùng phương thức setComposite() của lớp Graphics2D: Dùng đối tượng AlphaComposite để truyền vào phương thức setComposite()      public void paint(Graphics g)      { Graphics2D g2=(Graphics2D)g;... drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver Ob) + bgColor:  Màu nền đối với ảnh trong suốt: + VD:  Image im=getToolkit().getImage("Untitled­1.png"); g.drawImage(im,50,50,im.getHeight(this),im.getWidth(this),  Color.darkGray,this); +  ImageObserver  Ob:  Đối  tượng  chịu  trách  nhiệm  kiểm  tra  xem  ảnh đã sắn sàng để vẽ hay chưa.  Thông  thư ng  là  this.(this  là  thân  Applet hay Frame) Lớp Graphics 5.Lớp Color:... ­ Khởi tạo Font: Font( String fontname, int style, int fontsize) VD: Font f= new Font(“ .VnArial ”,  Font.BOLD + Font.ITALIC , 20 ) ­ Một số phương thức của lớp Font: getName, getStyle, getSize,  isBold, isItalic, isPlain… ­ Lấy tất cả font trong hệ thống: Dùng phương thức getFontList của đối tượng  Toolkit VD: String[] FL=getToolkit(). getFontList(); Lớp Graphics 3.Chế độ vẽ:   Đối tượng Graphics có 2 chế độ vẽ: paint, XOR Chế độ paint: Là chế độ mặc định ta vẫn thấy... g2.fillRect(50,50,60,60); g2.setColor(Color.blue); g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,(float)0.3)); g2.fillOval(60,60,80,80);      } • Lớp Graphics 2D 5.Biến đổi tọa độ: • • Java2 D cho phép dịch, quay, co giãn, bóp méo 1 hình dễ dàng: Hàm biến đổi tọa độ của Graphics2D • translate(int x,int y): Di chuyển gốc tọa độ đến (x,y) • rotate(double a,int x, int y): Quay hệ tọa độ a, và di chuyển tâm quay đến tọa độ (x,y) . có thể là 1 đối tượng tự vẽ. Lớp Graphics 2D 1.Các dạng hình học trong Java2 D  Các lớp đối tượng hình học của Java2 D (trong gói java. awt.geom):  Arc2D.Double //Cung tròn  Arc2D.Float  Area. cắt  Các lớp tiện ích khác  Lớp Graphics 2D < ;Java1 .4>  Vẽ hình học  Nét vẽ  Chế độ vẽ  Tô loang  Vẽ ảnh trong suốt  Biến đổi tọa độ trong Java2 D Lớp Graphics  Khái quát:  Khi muốn vẽ. §å häa AWT trong java Học viện công nghệ bưu chính viễn thông C08CNTT 2 Tháng 3/2010 http://www.mediafire.com/?hz7rf8jbvvnlnht Nội

Ngày đăng: 06/08/2014, 14:20

Từ khóa liên quan

Mục lục

  • Slide 1

  • Nội dung:

  • Lớp Graphics

  • Lớp Graphics 1.Vẽ hình học:

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Lớp Graphics 2.Vẽ chữ:

  • Slide 11

  • Lớp Graphics 3.Chế độ vẽ:

  • Lớp Graphics 4.Vẽ ảnh:

  • Lớp Graphics 5.Lớp Color:

  • Slide 15

  • Lớp Graphics 6.Vùng cắt (Clipping):

  • Lớp Graphics 2D

  • Slide 18

  • Lớp Graphics 2D 1.Các dạng hình học trong Java2D

  • Lớp Graphics 2D 1.Các dạng hình học trong Java2D (tt)

Tài liệu cùng người dùng

Tài liệu liên quan