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 repaint int x, int y,i nt width, int height... Chẳng h
Trang 1Họ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
Trang 3 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() )
repaint ( int x, int y,i nt width, int height )
Trang 6(x,y)
Trang 71.Vẽ hình họ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)
Trang 8Phươ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)
Trang 91.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);
Trang 11Toolkit
VD:
String[] FL=getToolkit(). getFontList();
Trang 12(black) XOR (green) = (0,0,0) (0,255,0) (255,0,255)
Trang 13+ 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)
Trang 145.Lớp Color:
1 điểm ảnh trên màn hình đều được kết hợp bởi 3 màu cơ bản: R,G,B (Red, Green, Blue). R,G,B đều có giá trị từ 0255 (1byte) Tổng cộng là 3 byte
Trang 17đồ 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 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;
}
Trang 18 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.
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ẽ.
Trang 222.Thay đổi nét vẽ:
Các phương thức draw của đối tượng Graphics đều có nét vẽ là 1 pixel.
Graphics2D có khả năng thay đổi độ dày của nét vẽ, đồng thời cũng có thể thay đổi được kiểu của nét vẽ
Thay đổi độ dày của nét vẽ:
Ta dùng phương thức setStroke(Stroke s) : Như vậy ta phải tạo 1 đối tượng có cài đặt giao diện Stroke để truyền, lớp BasicStroke là lớp duy nhất cài giao diện đó:
Trang 24}
Trang 264.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().
}
Trang 28trong 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à Java3D, đó 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 !
Trang 30Cảm ơn sự quan tâm theo dõi của thầy và các bạn !
THE END
Tháng 3/2010 http://www.mediafire.com/?hz7rf8jbvvnlnht