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

BÀI GIẢNG: JAVA 2D doc

32 535 4

Đ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 32
Dung lượng 731,67 KB

Nội dung

Một đối tượng đồ họa quản lý một ngữ cảnh đồ họa và lấy ra điểm ảnh trên màn hình đại diện cho văn bản và các đối tượng đồ họa khác như đường, bầu dục, hình chữ nhật và hình đa giác khác

Trang 1

JAVA 2D

GV: Vũ Đình Hồng Khoa: CNTT – TỨD

Trang 3

Graphics Contexts and Graphics Objects

Ngữ cảnh java cho phép vẽ đồ họa trên màn hình Một đối tượng đồ họa quản lý một ngữ cảnh đồ họa và lấy

ra điểm ảnh trên màn hình đại diện cho văn bản và các đối tượng đồ họa khác (như đường, bầu dục, hình chữ nhật và hình đa giác khác)

Các đối tượng đều có phương pháp để vẽ, thao tác font chữ, màu sắc và thao tác tương tự

Trang 4

 Lớp Component là superclass cho rất nhiều tầng lớp trong gói java.awt

 Khởi đầu của 1 paint method là:

public void paint( Graphics g )

 paint method không nên ghi đè, bởi vì nó thực hiện một số nhiệm vụ phụ thuộc vào hệ thống Nếu người lập trình cần gọi lại phương thức thì có câu lệnh sau:

public void repaint()

public void update( Graphics g )

Trang 5

Color Control

 Lớp màu cho phép thay đổi các giá trị

RGB để thiết lập màu cho đối tượng

public final static Color ORANGE orange 255, 200, 0

public final static Color YELLOW yellow 255, 255, 0

public final static Color BLACK black 0, 0, 0

public final static Color WHITE white 255, 255, 255

public final static Color GRAY gray 128, 128, 128

public final static Color RED red 255, 0, 0

public final static Color BLUE blue 0, 0, 255

Trang 6

Phương pháp tạo màu

 public Color( int r, int g, int b )

Tạo ra một màu sắc dựa trên màu đỏ, xanh lá cây và màu xanh thành phần thể hiện như số nguyên 0-255.

 public Color( float r, float g, float b )

Tạo ra một màu sắc dựa trên màu đỏ, xanh lá cây và màu xanh thành phần thể hiện là các giá trị từ 0,0 đến 1,0.

 public int getRed()

Trả về một giá trị giữa 0 và 255 đại diện cho nội dung màu đỏ.

 public int getBlue()

 public int getGreen()

Trang 7

public Color getColor()

Trả về một đối tượng màu đại diện cho màu sắc hiện tại cho các bối cảnh đồ họa.

public void setColor( Color c )

Thiết lập màu hiện hành cho các bản vẽ với bối cảnh đồ họa.

Ví dụ: public void paint( Graphics g ){

Trang 8

Font Control

 public final static int PLAIN

H ằng số đại diện cho một font plain.

 public final static int BOLD

Đại diện cho một style font chữ đậm.

 public final static int ITALIC

Đại diện cho một style font chữ nghiêng.

 public Font( String name, int style, int size )

Tạo ra một đối tượng Font với các font chỉ định, kiểuvà kích cỡ

Trang 9

public int getStyle()

Trả về một giá trị số nguyên cho thấy cách của phông chữ hiện hành.

public int getSize()

Trả về một giá trị số nguyên cho biết kích thước phông chữ hiện hành.

public String getName()

Trả về tên font hiện hành như một chuỗi.

Trang 10

Thao tác trên font

public Font getFont()

Trả về một tham chiếu đối tượng đại diện cho font chữ hiện hành.

public void setFont( Font f )

Thiết lập phông chữ hiện hành gồm các font chữ, kiểuvà kích

thước xác định bởi các tham chiếu đối tượng Font f.

public int getAscent()

Trả về một giá trị đại diện cho đi lên của một font ở điểm.

Trang 11

public int getDescent()

Trả về một giá trị đại diện cho các hậu duệ của một font ở điểm

public int getLeading()

Trả về một giá trị đại diện cho hàng đầu của một phông chữ trong điểm.

public int getHeight()

Trả về một giá trị đại diện cho chiều cao của một phông chữ trong điểm.

Trang 12

Class FontMetrics

 Class FontMetrics là phương pháp cho việc thu thập số liệu font gồm height, leading, ascent, baseline, descent.

• public FontMetrics getFontMetrics()

Trả về FontMetrics cho đối tượng Font bản vẽ hiện hành.

Trang 13

Drawing Lines, Rectangles and Ovals

public void drawLine( int x1, int y1, int x2, int y2 )

Vẽ 1 đường giữa các điểm (x1, y1) và điểm (x2, y2).

public void drawRect( int x, int y, int width, int height )

Vẽ hình chữ nhật có chiều rộng và chiều cao quy định Góc trên trái của hình chữ nhật có tọa độ (x, y).

public void fillRect( int x, int y, int width, int height )

Vẽ hình chữ nhật đặc với chiều rộng và chiều cao quy định Góc trên trái của hình chữ nhật có tọa độ (x, y).

Trang 14

 public void clearRect( int x, int y, int width, int height )

Vẽ hcnđặc trong màu nền hiện hành Góc trên trái của hình chữ nhật

 public void fillRoundRect( int x, int y, int width, int height,

int arcWidth, int arcHeight )

Vẽ hcn có góc tròn cong trong màu sắc hiện tại arcWidth và arcHeight xác định độ tròn của các góc.

Trang 15

public void draw3DRect( int x, int y, int width, int height, boolean b )

Vẽ hcn 3 chiều trong màu sắc hiện tại Góc trên trái của hình chữ nhật có tọa độ (x, y) Hcn nổi lên khi b là true và lõm khi b là false.

public void fill3DRect( int x, int y, int width, int height,

Trang 16

 public void drawOval( int x, int y, int width, int height )

Vẽ hình bầu dục trong màu sắc hiện tại góc trên bên trái của hình chữ nhật là ranh giới ở tọa độ (x, y)

 public void fillOval( int x, int y, int width, int height )

Vẽ hình bầu dục đặctrong màu hiện hành với quy định chiều rộng và chiều cao Góc trên bên trái của hình chữ nhật là ranh giới ở tọa độ (x, y) Các chạm hình bầu dục tất cả bốn cạnh của hình chữ nhật ranh giới ở trung tâm của mỗi bên.

Trang 17

Vẽ vòng cung

 Một vòng cung được vẽ như là một phần của một

hình bầu dục Góc của vòng cung được đo bằng độ

Vòng cung quét từ một góc bắt đầu bởi số góc theo quy định của vòng cung Góc vòng cung xác định tổng số độ cung quét

Trang 18

Vẽ vòng cung (tt)

Vòng cung mà quét ngược chiều kim đồng hồ được

đo bằng độ dương Hình bên phải cho thấy một

vòng cung quét từ số 0 độ đến -110 độ Vòng cung

mà quét cùng chiều kim đồng hồ được đo bằng độ

âm Khi vẽ một vòng cung, bạn chỉ định một hình chữ nhật ranh giới cho một hình bầu dục Các vòng cung sẽ quét dọc theo một phần của hình bầu dục này.

Trang 19

Phương thức để vẽ vòng cung

không tô

 public void drawArc(int x, int y, int width, int height, int

startAngle, int arcAngle)

Vẽ 1 vòng cung giới hạn bởi đỉnh trên trái hình chữ nhật có tọa độ (x,y) với chiều rộng

và chiều cao đã được người dùng khai báo trong cú pháp Các đoạn vòng cung được vẽ bắt đầu từ startAngle và độ quét là

arcAngle.

Trang 20

Phương thức để vẽ vòng cung có

 public void fillArc(int x, int y, int width, int height, int

startAngle, int arcAngle)

Vẽ và tô 1 vòng cung giới hạn bởi đỉnh trên trái hình chữ nhật có tọa độ (x,y) với chiều rộng và chiều cao đã được người dùng khai báo trong cú pháp Các đoạn vòng cung

được vẽ bắt đầu từ startAngle và độ quét là arcAngle.

Trang 22

Vẽ Polygons và Polylines

 Những đa giác thì đều có dạng bao gồm các phân đoạn đường thẳng Polylines là một chuỗi các điểm kết nối.

Trang 23

Phương thức để vẽ đa giác

 public void drawPolygon( int xPoints[], int yPoints[], int points )

Vẽ một hình đa giác Mỗi điểm trên trục x được quy

định trong mảng xPoints và các điểm trên trục y được quy định trong mảng yPoints Đối số cuối cùng xác định

số điểm Phương pháp này rút ra một đa giác khép kín Nếu điểm cuối cùng là khác nhau từ điểm đầu tiên, đa giác được đóng lại bằng một đường kết nối các điểm

cuối đến điểm đầu tiên

Trang 24

Phương thức để vẽ đa giác (tt)

 public void drawPolyline( int xPoints[], int yPoints[], int points )

Vẽ một chuỗi các đường kết nối Mỗi điểm trên trục x được quy định trong mảng xPoints và điểm trên trục y được quy định trong mảng yPoints Đối số cuối cùng

xác định số điểm Nếu điểm cuối cùng là khác nhau từ điểm đầu tiên, polyline không phải là đóng lại

Trang 25

Phương thức để vẽ đa giác (tt)

 public void fillPolygon( int xPoints[], int yPoints[], int points )

Vẽ một hình đa giác tô Mỗi điểm trên trục x được quy định trong mảng xPoints và các điểm trên trục y được quy định trong mảng yPoints Đối số cuối cùng xác định

số điểm Phương pháp này rút ra một đa giác khép kín Nếu điểm cuối cùng là khác nhau từ điểm đầu tiên, đa giác được đóng lại bằng một đường kết nối các điểm

cuối đến điểm đầu tiên

Trang 26

Phương thức để vẽ đa giác (tt)

 public void drawPolygon( Polygon p )

Vẽ các đa giác đã được quy định

 public void fillPolygon( Polygon p )

Vẽ các đa giác tô đã được quy định

 public Polygon()

Cấu trúc của một đối tượng đa giác mới Các đa giác

không chứa bất kỳ điểm nào

Trang 27

Phương thức để vẽ đa giác (tt)

 public Polygon( int xValues[], int yValues[], int

numberOfPoints )

Cấu trúc một đối tượng đa giác mới Các đa giác có

numberOfPoints bên, với mỗi điểm bao gồm một giá trị

x và giá trị y

 public void addPoint( int x, int y )

Thêm 1 điểm gồm x và y vào đa giác

Trang 29

Java2D API

lập trình, người mà yêu cầu các thao tác đồ họa chi tiết

và phức tạp API bao gồm tính năng vẽ đường thẳng,

văn bản, hình ảnh trong gói java.awt, java.awt.image, java.awt.color, java.awt.font,

java.awt.geom,java.awt.print và

java.awt.image.renderable

Trang 30

Java2D API (tt)

 Vẽ với các API Java2D được thực hiện với một thể hiện của Graphics2D (gói java.awt), mà là một phân lớp đồ họa trừu tượng của lớp Trong thực tế, thực tế đối tượng sử dụng để vẽ trong mỗi phương pháp sơn

là một ví dụ của một phân lớp của Graphics2D đó là thông qua phương pháp vẽ và truy cập thông qua các

đồ họa siêu lớp Để truy cập tính năng Graphics2D, chúng ta phải bỏ các tham chiếu để vẽ đồ họa thông qua vào một tham chiếu Graphics2D như:

Graphics2D g2d = ( Graphics2D ) g;

Trang 31

Ví dụ

// draw 2D ellipse filled with a blue-yellow gradient

// draw 2D rectangle in red

Trang 32

Q & A

Ngày đăng: 07/08/2014, 15:21

HÌNH ẢNH LIÊN QUAN

Hình bầu dục. Góc của vòng cung được đo bằng độ. - BÀI GIẢNG: JAVA 2D doc
Hình b ầu dục. Góc của vòng cung được đo bằng độ (Trang 17)

TỪ KHÓA LIÊN QUAN

w