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
Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
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
BÀI TẬP LỚN BÀI TẬP LỚN MÔN LẬP TRÌNH JAVA MÔN LẬP TRÌNH JAVA Đề tài 6 Đề 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 do người sử dụng xác định.” Giảng viên hướng dẫn: Ngô Công Thắng Nhóm sinh viên thực hiện: Nguyễn Thị Huyền Chu Thị Thanh Hương Vũ Thị Thùy Linh Nguyễn Thị Xuân Nội dung chính 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 1.1. Component 1.2. Container 1.3. Graphics 1.4. Color 1.5. Font 1.6. FontMetrics 1.7. Layout Manager Nội dung chính Nội dung chính II. Vẽ chữ 1. Một số khái niệm liên quan 2. Vẽ chữ 2.1. Các thư viện phục vụ cho vẽ chữ có trong java 2.2. Chương trình vẽ chữ 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 Nội dung chính Nội dung chính IV. Vẽ hình 3D trong Java 1. Vẽ hình chữ nhật 3 chiều (3D rectangle) 2. Vẽ vòng tròn và hình ellip B. CHƯƠNG TRÌNH VẼ MỘT SỐ HÌNH: CHỮ NHẬT, TRÒN, TRỤ, LẬP PHƯƠNG. 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ụ 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. 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 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 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… 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ô Một quan hệ kế thừa giữa các thành phần này được mô tả như sau: tả như sau: I. Giới thiệu về hệ thống đồ hoạ của Java 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. 1. Các khái niệm cơ bản 1.2. Container: Là đối tượng vật chứa hay những đối tượng có khả năng quản lý và nhóm các đối tượng khác lại. Những đối tượng con thuộc thành phần awt như: button, checkbox, radio button, scrollbar, list,… chỉ sử dụng được khi ta đưa nó vào khung chứa (container). 1.3. Graphics: Là lớp trừu tượng cung cấp ngữ cảnh đồ hoạ để vẽ các đối tượng đồ hoạ như: đường thẳng, đường tròn, hình ảnh… 1.4. Color: Lớp này biểu diễn một mầu sắc. 1.5. Font: Lớp này biểu thị cho một font đồ hoạ. 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). 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 [...]... tin hơn 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 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... / /Vẽ hình tròn có đường kính là 60 g.drawOval(0,0,60,60); / /Vẽ hình elip rộng 40 và cao 20 g.fillOval(0,100,60,40); } } IV Vẽ hình 3D trong Java Kết quả: 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. .. g.drawLine(20,120,250,120); } } 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... bầu dục (Oval) Cũng như các hình trước fillOval dùng để tô đầy bên trong của hình / /Vẽ một hình Oval Public void drawOval(int x, int y, int width, int height) //Tô một hình Oval Public void fillOval(int x, int y, int width, int height) Chương trình vẽ vòng tròn và ellip IV Vẽ hình 3D trong Java import java. awt.*; import java. applet.*; import javax.swing.*; import java. awt.event.*; public class... ben trong g.draw3DRect(100,10,60,40,false); //Ve hinh chu nhat chim duoc to ben trong g.fill3DRect(100,80,60,40,false); } } IV Vẽ hình 3D trong Java Kết quả: IV Vẽ hình 3D trong Java 2 Vẽ vòng tròn và hình ellip Vòng tròn chỉ là trường hợp đặc biệt của hình Ellip, lớp Graphics của java cung cấp cho ta phương thức drawOval và fillOval dùng để vẽ vừa vòng tròn vừa ellip, hai hình này gọi chung là hình. .. 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 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... 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 (threedimensional) Hình ảnh mà chỉ có chiều cao , 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à. .. 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) 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ả: import java. applet.*;... 0, charsToDraw.length, 10,20); } } 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... 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 . BÀI TẬP LỚN BÀI TẬP LỚN MÔN LẬP TRÌNH JAVA MÔN LẬP TRÌNH JAVA Đề tài 6 Đề 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,. vòng tròn và hình ellip B. CHƯƠNG TRÌNH VẼ MỘT SỐ HÌNH: CHỮ NHẬT, TRÒN, TRỤ, LẬP PHƯƠNG. 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ụ. } } } } III. Vẽ hình 2D trong Java 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