Java BufferedImage 类
Java BufferedImage 类是 Image 类的子类。它用于处理和操作图像数据。BufferedImage 由图像数据的 ColorModel 组成。所有 BufferedImage 对象的左上角坐标均为 (0, 0)。
构造函数
此类支持三种类型的构造函数。
第一个构造函数使用指定的 ColorModel 和 Raster 构造一个新的 BufferedImage。
BufferedImage(ColorModel cm, WritableRaster raster, boolean isRasterPremultiplied, Hashtable<?,?> properties)
第二个构造函数构造一个预定义图像类型之一的 BufferedImage。
BufferedImage(int width, int height, int imageType)
第三个构造函数构造一个预定义图像类型之一的 BufferedImage:TYPE_BYTE_BINARY或 TYPE_BYTE_INDEXED。
BufferedImage(int width, int height, int imageType, IndexColorModel cm)
| Sr.No | 方法 &描述 |
|---|---|
| 1 |
copyData(WritableRaster outRaster) 计算 |
| 2 |
getColorModel() 返回图像的 ColorModel 类对象。 |
| 3 |
getData() 将图像作为一个大图块返回。 |
| 4 |
getData(Rectangle rect) 它计算并返回 |
| 5 |
getGraphics() 此方法返回 Graphics2D,保留向后兼容性。 |
| 6 |
getHeight() 它返回 |
| 7 |
getMinX() 它返回此 |
| 8 |
getMinY() 它返回此 |
| 9 |
getRGB(int x, int y) 它返回默认 RGB 颜色模型 (TYPE_INT_ARGB) 和默认 sRGB 颜色空间中的整数像素。 |
| 10 |
getType() 它返回图像类型。 |
示例
以下示例演示了如何使用 java BufferedImage 类,该类使用 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);
}
}
输出
执行给定的代码时,将看到以下输出 −

