Lớp Java BufferedImage
BufferedImage
Lớp Java là một lớp con của lớp Image. Nó được sử dụng để xử lý và thao tác dữ liệu hình ảnh. A BufferedImage
được làm bằng ColorModel của dữ liệu hình ảnh. Tất cả BufferedImage
các đối tượng có tọa độ góc trên bên trái là (0, 0).
Người xây dựng
Lớp này hỗ trợ ba loại hàm tạo.
Hàm tạo đầu tiên tạo mới BufferedImage
với ColorModel và Raster được chỉ định.
BufferedImage(ColorModel cm, WritableRaster raster,
boolean isRasterPremultiplied, Hashtable<?,?> properties)
Hàm tạo thứ hai xây dựng một BufferedImage
trong các kiểu hình ảnh được xác định trước.
BufferedImage(int width, int height, int imageType)
Hàm tạo thứ ba tạo một BufferedImage
trong một trong các loại hình ảnh được xác định trước: TYPE_BYTE_BINARY hoặc TYPE_BYTE_INDEXED.
BufferedImage(int width, int height, int imageType, IndexColorModel cm)
Sr.No | Phương pháp & Mô tả |
---|---|
1 | copyData(WritableRaster outRaster) Nó tính toán một vùng hình chữ nhật tùy ý của |
2 | getColorModel() Nó trả về đối tượng của lớp ColorModel của một hình ảnh. |
3 | getData() Nó trả về hình ảnh dưới dạng một ô lớn. |
4 | getData(Rectangle rect) Nó tính toán và trả về một vùng tùy ý của |
5 | getGraphics() Phương thức này trả về một Graphics2D, giữ lại khả năng tương thích ngược. |
6 | getHeight() Nó trả về chiều cao của |
7 | getMinX() Nó trả về tọa độ x tối thiểu của điều này |
số 8 | getMinY() Nó trả về tọa độ y tối thiểu của điều này |
9 | getRGB(int x, int y) Nó trả về một pixel số nguyên trong mô hình màu RGB mặc định (TYPE_INT_ARGB) và không gian màu sRGB mặc định. |
10 | getType() Nó trả về loại hình ảnh. |
Thí dụ
Ví dụ sau minh họa việc sử dụng BufferedImage
lớp java để vẽ một số văn bản trên màn hình bằng Graphics Object -
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test extends JPanel {
public void paint(Graphics g) {
Image img = createImageWithText();
g.drawImage(img, 20,20,this);
}
private Image createImageWithText() {
BufferedImage bufferedImage = new BufferedImage(200,200,BufferedImage.TYPE_INT_RGB);
Graphics g = bufferedImage.getGraphics();
g.drawString("www.tutorialspoint.com", 20,20);
g.drawString("www.tutorialspoint.com", 20,40);
g.drawString("www.tutorialspoint.com", 20,60);
g.drawString("www.tutorialspoint.com", 20,80);
g.drawString("www.tutorialspoint.com", 20,100);
return bufferedImage;
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.getContentPane().add(new Test());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);
frame.setVisible(true);
}
}
Đầu ra
Khi bạn thực thi mã đã cho, kết quả sau sẽ được nhìn thấy: