Java BufferedImage 类


JavaBufferedImage类是 Image 类的子类。它用于处理和操作图像数据。ABufferedImage由图像数据的ColorModel组成。所有BufferedImage对象的左上角坐标均为 (0, 0)。

构造函数

该类支持三种类型的构造函数。

第一个构造函数BufferedImage 使用指定的 ColorModel 和 Raster 构造一个新的。

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)

先生编号 方法及说明
1

复制数据(WritableRaster outRaster)

它计算 的任意矩形区域BufferedImage 并将其复制到指定的 WritableRaster 中。

2

获取颜色模型()

它返回图像的 ColorModel 类的对象。

3

获取数据()

它将图像作为一个大图块返回。

4

获取数据(矩形矩形)

它计算并返回 的任意区域BufferedImage

5

获取图形()

该方法返回一个Graphics2D,保留向后兼容性。

6

获取高度()

它返回 的高度BufferedImage

7

获取MinX()

它返回 this 的最小 x 坐标BufferedImage

8

getMinY()

它返回 this 的最小 y 坐标BufferedImage

9

getRGB(int x, int y)

它返回默认 RGB 颜色模型 (TYPE_INT_ARGB) 和默认 sRGB 颜色空间中的整数像素。

10

获取类型()

它返回图像类型。

例子

以下示例演示了如何使用 javaBufferedImage 类,使用 Graphics 对象在屏幕上绘制一些文本 -

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);
   }
}

输出

当您执行给定的代码时,会看到以下输出 -

Java 缓冲图像教程