1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÀI TẬP LỚN MÔN LẬP TRÌNH JAVA Tìm hiểu về đồ họa trong Java vẽ chữ, vẽ hình 2D và 3D. Viết chương trình vẽ một số hình (chữ nhật, tròn, trụ, lập phương) với kích thước và màu sắc

33 2,5K 1

Đ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 33
Dung lượng 292,5 KB

Nội dung

Viết chương trình vẽ một số hình chữ nhật, tròn, trụ, lập phương với kích thước và màu sắc... API cho lập trình đồ hoạ bao gồm một tập rất nhiều lớp nhằm trợ giúp xây dựng các thành phần

Trang 1

BÀI TẬP LỚN MÔN LẬP TRÌNH JAVA

Đề tài 6 : “Tìm hiểu về đồ họa trong Java: vẽ chữ, vẽ :

hình 2D và 3D Viết chương trình vẽ một số hình (chữ nhật, tròn, trụ, lập phương) với kích thước và màu sắc

Trang 2

Nội dung chính

I Giới thiệu về hệ thống đồ hoạ của Java

1 Các khái niệm cơ bản

Trang 3

III Vẽ hình 2D trong Java

1 Không gian người dùng và không gian thiết bị

2 Đồ họa với Graphics2D

3 Hệ toạ độ

4 Kẻ đường thẳng

5 Vẽ hình chữ nhật 2D

Trang 5

I Giới thiệu về hệ thống đồ hoạ của Java

Thiết kết API cho lập trình đồ hoạ của Java là một ví dụ hoàn hảo về cách dùng lớp, sự kết thừa và giao diện API cho lập trình đồ hoạ bao gồm một tập rất nhiều lớp nhằm trợ giúp xây dựng các thành phần giao diện khác nhau như: cửa sổ, nút ấn, ô văn bản, menu, hộp kiểm…Một quan hệ kế thừa giữa các thành phần này được mô

tả như sau:

Trang 6

I Giới thiệu về hệ thống đồ hoạ của Java

Trang 7

1 Các khái niệm cơ bản

1.1 Component

Component là một đối tượng có biểu diễn đồ họa được hiển thị trên màn hình mà người dùng có thể tương tác được Chẳng hạn như những nút nhấn (button), những

checkbox, những scrollbar,… Lớp Component là một

lớp trừu tượng là lớp cha của mọi lớp giao diện người dùng Lớp này cung cấp các thuộc tính, hành vi cơ bản nhất của tất cả các thành phần giao diện

Trang 8

1 Các khái niệm cơ bản

Trang 9

1 Các khái niệm cơ bản

1.6 FontMetrics:

Là một lớp trừu tượng dùng để xác định các thuộc tính của Font Tất cả các thành phần đồ hoạ trong thư viện Swing được nhóm trong gói javax.swing Đa số các

thành phần trong thư viện Swing đều có tiếp đầu ngữ là

‘J’, Ví dụ: một nút lệnh trong thư viện Swing có tên là

JButton, một memu có tên là JMenu

1.7 Layout Manager

Khung chứa container nhận các đối tượng từ bên

ngoài đưa vào và nó phải biết làm thế nào để tổ chức sắp xếp “chỗ ở” cho các đối tượng đó Mỗi đối tượng khung chứa đều có một bộ quản lý chịu trách nhiệm

thực hiện công việc đấy đó là bộ quản lý trình bày

(Layout Manager)

Trang 10

II Vẽ chữ

1 Một số khái niệm liên quan

-Font: là 1 tập hoàn chỉnh các chữ cái, các con số, các dấu

câu, và các kí tự đặc biệt, theo một kiểu loại, định dạng (đậm, nét), hình dáng (thẳng hay nghiêng), kích cỡ phù hợp và có thể phân biệt sự khác nhau

+ Có ba loại phông chữ : font Bitmap, font PotScript và font

True Type Mỗi loại có hai phiên bản : font màn

hình(screen font) và máy in (printer font)

- Chân chữ hay đường nền (baseline): đường thẳng mà

mọi ký tự trong một chuỗi cùng nằm trên đó

- Thân chữ (ascent): Chiều cao từ chân chữ lên đến đầu

chữ

- Đuôi chữ (descent): Khoảng cách lớn nhất từ chân chữ

trở xuống của các ký tự Các chữ thường như g hay y thường có phần đuôi chiếm chiều cao này

- Khoảng hở (leading): Khoảng phân cách giữa hai chuỗi

với nhau

Trang 11

II Vẽ chữ

2 Vẽ chữ

2.1 Các thư viện phục vụ cho vẽ chữ có trong java

+ java.awt.Font : Gồm các phông chữ có sẵn trong hợ

thống

+java.awt.font.TextLayout -> cho phép tạo kiểu chữ từ sự kết hợp các chuỗi, phông chữ và đặt các thuộc tính Sauk hi tạo ra đối tượng TextLayout không thể chỉnh sửa, nhưng nó có phương thức để bạn có thể truy cập

để bố trí phông chữ, dấu nháy , kiểm tra thong tin

+java.awt.font.FontRenderContext : gồm các thông tin để

đo và xác định vị trí văn bản khi nó được tạo ra

+java.awt.LineBreakMeasurer

Trang 12

II Vẽ chữ

 Phương thức drawstring

Public void drawstring(String str, int x, int y)

Str: là một chuỗi ta cần ghi ra

x,y: tọa độ để ghi, vị trí x,y được lấy theo đường chân chữ

+Chuỗi có thể suất phát từ đối tượng String hoặc tập một dãy các kí tự bằng một dãy các ký tự bằng hai phương thức sau: //Ghi ra một dãy các ký tự tại vị trí x, y bắt đầu từ ký tự offs

Trang 13

frame.setVisible(true);

}

Trang 15

}

Trang 16

III Vẽ hình 2D trong Java

1 Không gian người dùng và không gian thiết bị:

Trong hầu hết môi trường đồ họa máy tính, mỗi pixel được đánh 1 số Nếu bạn vẽ 1 hình vuông bắt đầu ở

điểm (20, 20) thì góc trên trái của hình vuông sẽ bắt đầu

ở pixel thứ 20 từ trục trái của không gian vẽ và ở pixel thứ 20 từ trục trên của không gian vẽ Tọa độ lấy cách đều từ 2 trục được gọi là tọa độ Đề-Các Vị trí của

những đối tượng Java 2D cũng được chỉ

định.bằng.tọa,độ.này

Tuy nhiên, Java 2D định nghĩa tọa độ theo đơn vị (72 đơn vị bằng 1 inch), và việc hiển thị diễn ra trong mặt phẳng hypothetical được gọi là không gian người dùng

Trang 17

III Vẽ hình 2D trong Java

2 Đồ họa với Graphics2D

 Lớp Graphics cung cấp các methods đồ họa nhưng

không xây dựng các lớp ảnh

 Lớp Graphics2D kế thừa lớp Graphics nhưng có xây

dựng các lớp mô tả ảnh và các phép biến hình …, có sử dụng hệ tọa độ thực

Trang 18

III Vẽ hình 2D trong Java

3 Hệ toạ độ

Màn hình ta hiện thấy được mô phỏng như một hệ toạ

độ phẳng Descartes gồm các điểm (x, y) Trục tung của

hệ toạ độ này hướng xuống, góc trái trên cùng của màn hình được tính là (0, 0) Toạ độ các điểm tăng dần từ trái qua phải và từ trên xuống dưới Toạ độ lớn nhất có thể được nằm ở góc tận bên phải của màn hình và tuỳ thuộc vào độ phân giải của màn hình mà có thể mang các giá trị khác nhau, chẳng hạn với màn hình có độ phân giải 640x480 thì toạ độ này là (648,480) còn với độ phân giải 800x600 thì sẽ là (800,600)

Trang 19

III Vẽ hình 2D trong Java

4 Kẻ đường thẳng

 Phương thức cơ bản nhất của đối tượng đồ hoạ

Graphics dùng để vẽ một đường thẳng thật đơn giản

Chương trình vẽ đường thẳng (trang bên)

Kết quả:

Trang 21

III Vẽ hình 2D trong Java

5 Vẽ hình chữ nhật 2D

 Vẽ một hình chữ nhật (hay hình vuông) đòi hỏi ta phải biết toạ độ (x,y) góc trái trên của hình chữ nhật cùng có chiều rộng width và chiều cao height của nó Những

phương thức sau sẽ giúp ta vẽ hình chữ nhật với các dạng khác nhau:

 Public void drawRect(int x, int y, int width, int height)

 Phương thức này vẽ một hình chữ nhật với toạ độ đỉnh góc trái (x,y) với chiều rộng width, chiều cao height

Ví dụ để vẽ hình chữ nhật ở toạ độ (10,20) rộng 200

pixel cao 150 pixel ta thực hiện lệnh sau:

drawrect(10,20,200,150)

 Chương trình vẽ hình chữ nhật:

Trang 23

Kết quả:

Trang 24

IV Vẽ hình 3D trong Java

 Hình ảnh được xuất hiện có chiều cao , chiều rộng và chiều sâu gọi là 3 chiều – 3D ( three-

chiều rộng mà không có chiều sâu , gọi là 2

chiều – 2D ( two-dimensional )

 Một điều khác nhau giữa hình ảnh 2D và 3D ở chỗ , những hình ảnh 2D dùng cho những hình ảnh mang những thông tin đơn giản và nhanh chóng , những hình 3D phức tạp hơn và chứa đựng nhiều thông tin hơn

Trang 25

IV Vẽ hình 3D trong Java

 Nhìn những tam giác trên Mỗi một tam giác có 03 cạnh

và 03 góc Bên tay phải là hình chóp - cấu trúc 3D gồm

04 mặt là hình tam giác Chú ý rằng nó có 05 đường và

06 góc để cho biết đó là hình chóp - gần gấp hai lần

những thông tin yêu cầu của hình tam giác

Trang 26

IV Vẽ hình 3D trong Java

IV Vẽ hình 3D trong Java

 Cách vẽ hình chữ nhật 3D không khác gì cách vẽ hình chữ nhật bình thường chỉ có điều ta cần cho biết thêm một đối số kiểu

Boolean để xác nhận xem hình chữ nhật sẽ được vẽ theo dạng 3D nào.

 Có 2 cách vẽ , một sẽ làm cho đối tượng nổi lên(raised) hoặc hai

sẽ làm cho đối tượng có vẻ như chìm xuống

Sau đây là hai phương thức để vẽ hình chữ nhật 3D:

// Chỉ vẽ hình chữ nhật 3D không tô bên trong

Public void draw3DRect(int x, int y, int width, int height, Boolean raised)

// Vẽ hình chữ nhật 3D và tô bên trong

Public void fill3DRect(int x, int y, int width, int height, Boolean

raised)

Nếu raised=true hình chữ nhật sẽ ở dạng nổi còn raised=false hình chữ nhật sẽ ở dạng chìm.

 Chương trình vẽ hình chữ nhật 3 chiều:

Trang 28

IV Vẽ hình 3D trong Java

 Kết quả:

Trang 29

IV Vẽ hình 3D trong Java

Trang 30

IV Vẽ hình 3D trong Java

}

}

Trang 31

IV Vẽ hình 3D trong Java

 Kết quả:

Trang 32

TÀI LIỆU THAM KHẢO

 Giáo trình lý thuyết và bài tập Java _ Trần Tiến Dũng

 Bài giảng môn Lập trình Java – Ngô Công

Thắng

 Đề cương bài giảng Java cơ sở _ Trường ĐH

Sư phạm kỹ thuật Hưng Yên Nhóm biên soạn Hoàng Trọng Thế, Nguyễn Duy Tân

 Bài giảng lập trình java – Huỳnh Công Pháp, Khoa CNTT, ĐHNK

 Và một số tài liệu tham khảo khác

Ngày đăng: 14/04/2015, 09:01

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w