Clase Java BufferedImage

La BufferedImageclase Java es una subclase de la clase Image. Se utiliza para manejar y manipular los datos de la imagen. A BufferedImageestá hecho de ColorModel de datos de imagen. Todos los BufferedImageobjetos tienen una coordenada de esquina superior izquierda de (0, 0).

Constructores

Esta clase admite tres tipos de constructores.

El primer constructor construye un nuevo BufferedImagecon un ColorModel y Raster especificados.

BufferedImage(ColorModel cm, WritableRaster raster, 
boolean isRasterPremultiplied, Hashtable<?,?> properties)

El segundo constructor construye BufferedImageuno de los tipos de imágenes predefinidos.

BufferedImage(int width, int height, int imageType)

El tercer constructor construye BufferedImageuno de los tipos de imágenes predefinidos: TYPE_BYTE_BINARY o TYPE_BYTE_INDEXED.

BufferedImage(int width, int height, int imageType, IndexColorModel cm)

No Señor Método y descripción
1

copyData(WritableRaster outRaster)

Calcula una región rectangular arbitraria del BufferedImagey la copia en un WritableRaster especificado.

2

getColorModel()

Devuelve el objeto de la clase ColorModel de una imagen.

3

getData()

Devuelve la imagen como un mosaico grande.

4

getData(Rectangle rect)

Calcula y devuelve una región arbitraria de BufferedImage.

5

getGraphics()

Este método devuelve Graphics2D, conserva la compatibilidad con versiones anteriores.

6

getHeight()

Devuelve la altura del BufferedImage.

7

getMinX()

Devuelve la coordenada x mínima de este BufferedImage.

8

getMinY()

Devuelve la coordenada y mínima de este BufferedImage.

9

getRGB(int x, int y)

Devuelve un píxel entero en el modelo de color RGB predeterminado (TYPE_INT_ARGB) y el espacio de color sRGB predeterminado.

10

getType()

Devuelve el tipo de imagen.

Ejemplo

El siguiente ejemplo demuestra el uso de la BufferedImageclase java que dibuja texto en la pantalla usando Objetos Gráficos -

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

Salida

Cuando ejecuta el código dado, se ve el siguiente resultado: