Slide đồ họa trong Java – Tài liệu text

Slide đồ họa trong Java

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (153.64 KB, 25 trang )

1
Chương 7- Lập trình đồ họa
2
Mục tiêu
Đến cuối chương bạn có thể

Hiểu biết về lớp Font, lớp FontMetrics

Hiểu biết về lớp Color.

Biết cách vẽ hình ảnh trên GUI. với đối
tượng thuộc lớp Graphics, Graphics2D
3
Nội dung
7.1- Ôn tập
7.2- Các vấn đề cơ bản về vẽ.
7.3- Điều khiển mầu sắc.
7.4- Điều khiển Font.
7.5- Đồ họa với lớp Graphics.
7.6- Paint mode.
7.7- Đồ họa với lớp Graphics2D.
7.8- File ảnh.
7.9- Tóm tắt.
7.10- Chương trình vẽ bằng chuột.
4
7.2- Các vấn đề cơ bản về vẽ

Điều khiển mầu sắc.

Chọn Font

Thao tác vẽ : Vẽ chuỗi, vẽ hình, tô mầu.

Chế độ đồ họa Graphic mode.

Xuất file ảnh.
5
7.3- Điều khiển mầu sắc

Tại 1 thời điểm. có 1 mầu nền (background color, mặc
định là white) hiện hành và 1 mầu vẽ hiện hành mặc định
là black.

Thao tác với mầu nền và mầu vẽ của Frame:
setBackground(aColor); getBackground();
setForeground(aColor); getForeground();

Ấn định mầu vẽ g.setColor (aColor); // g:graphic object

Chỉ định mầu bằng các hằng mầu sắc: Khai báo sẵn trong
lớp Color  Color.black , … Các hằng khác : white, gray
, lightGray, darkGray, red, pink, orange, yellow , green,
magenta, cyan , blue.
6
Điều khiển mầu sắc (tt)

1 mầu tự chọn được ấn định bằng bộ 3 (Red,Green,Blue)
thông qua constructor của lớp Color :
Color class
public Color(float RedVal, float GreenVal, float BlueVal)
public Color(int RedVal, int GreenVal, int BlueVal) // 0..255

Truy xuất trị 1 mầu hoặc thành phần của 1 mầu
getRed(), getGreen(), getBlue(), getRGB()

Thí dụ về ấn định mầu hiện hành:
Color c = new Color( 255,130,60);
g.setColor(c) ; // g: graphic object

g.setColor(new Color(100,0,200));
7
7.4- Điều khiển Font

Font = Kiểu chữ , mô tả
nét vẽ (glyphs) của ký
tự.

3 thuộc tính của font:
Font name, font style,
font size.

Lớp Font mô tả cho 1
font.
8
Font….

Có thể lấy tập font trong máy bằng 1 đối tượng thuộc
lớp GraphicEnvironment.

Lấy fonts hệ thống thông qua đối tượng
GraphicsEnvironment

Thí dụ: Lấy fonts hệ thống đưa vào choice cFonts
GraphicsEnvironment ge;
ge=GraphicsEnvironment.getLocalGraphicsEnvironment();
Font f[]= ge.getAllFonts();
for (int i=0;i<f.length;++i) cFonts.add(f[i].getFontName());
SystemFonts.java
9
10
Font (tt)

Lớp FontMetric cho ta
kích thước font:
String getName(): tên font
int getHeight() : chiều cao
int getAscend()
int getDescent()
int getHeight()
int getLeading()
Tham khảo thêm trong Document của lớp này để biết
thêm các methods
Thí dụ 2- Truy xuất thuộc tính kích thước font
Khoảng hở đến ký tự
kế tiếp
FontMetricDemo.java

Thao tác vẽ : Vẽ chuỗi, vẽ hình, tô mầu.Chế độ đồ họa Graphic mode.Xuất file ảnh.7.3- Điều khiển mầu sắcTại 1 thời điểm. có 1 mầu nền (background color, mặcđịnh là white) hiện hành và 1 mầu vẽ hiện hành mặc địnhlà black.Thao tác với mầu nền và mầu vẽ của Frame:setBackground(aColor); getBackground();setForeground(aColor); getForeground();Ấn định mầu vẽ g.setColor (aColor); // g:graphic objectChỉ định mầu bằng các hằng mầu sắc: Khai báo sẵn tronglớp Color  Color.black , … Các hằng khác : white, gray, lightGray, darkGray, red, pink, orange, yellow , green,magenta, cyan , blue.Điều khiển mầu sắc (tt)1 mầu tự chọn được ấn định bằng bộ 3 (Red,Green,Blue)thông qua constructor của lớp Color :Color classpublic Color(float RedVal, float GreenVal, float BlueVal)public Color(int RedVal, int GreenVal, int BlueVal) // 0..255Truy xuất trị 1 mầu hoặc thành phần của 1 mầugetRed(), getGreen(), getBlue(), getRGB()Thí dụ về ấn định mầu hiện hành:Color c = new Color( 255,130,60);g.setColor(c) ; // g: graphic objectg.setColor(new Color(100,0,200));7.4- Điều khiển FontFont = Kiểu chữ , mô tảnét vẽ (glyphs) của kýtự.3 thuộc tính của font:Font name, font style,font size.Lớp Font mô tả cho 1font.Font….Có thể lấy tập font trong máy bằng 1 đối tượng thuộclớp GraphicEnvironment.Lấy fonts hệ thống thông qua đối tượngGraphicsEnvironmentThí dụ: Lấy fonts hệ thống đưa vào choice cFontsGraphicsEnvironment ge;ge=GraphicsEnvironment.getLocalGraphicsEnvironment();Font f[]= ge.getAllFonts();for (int i=0;i