Classe Java BufferedImage

A BufferedImageclasse Java é uma subclasse da classe Image. É usado para tratar e manipular os dados da imagem. A BufferedImageé feito de ColorModel de dados de imagem. Todos os BufferedImageobjetos têm uma coordenada de canto superior esquerdo de (0, 0).

Construtores

Esta classe oferece suporte a três tipos de construtores.

O primeiro construtor constrói um novo BufferedImagecom um ColorModel e Raster especificados.

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

O segundo construtor constrói um BufferedImagede um dos tipos de imagem predefinidos.

BufferedImage(int width, int height, int imageType)

O terceiro construtor constrói um BufferedImagede um dos tipos de imagem predefinidos: TYPE_BYTE_BINARY ou TYPE_BYTE_INDEXED.

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

Sr. Não Método e Descrição
1

copyData(WritableRaster outRaster)

Ele calcula uma região retangular arbitrária do BufferedImagee a copia em um WritableRaster especificado.

2

getColorModel()

Ele retorna um objeto da classe ColorModel de uma imagem.

3

getData()

Ele retorna a imagem como um grande bloco.

4

getData(Rectangle rect)

Ele calcula e retorna uma região arbitrária do BufferedImage.

5

getGraphics()

Este método retorna um Graphics2D, mantém a compatibilidade com versões anteriores.

6

getHeight()

Ele retorna a altura do BufferedImage.

7

getMinX()

Ele retorna a coordenada x mínima disso BufferedImage.

8

getMinY()

Ele retorna a coordenada y mínima disso BufferedImage.

9

getRGB(int x, int y)

Ele retorna um pixel inteiro no modelo de cor RGB padrão (TYPE_INT_ARGB) e espaço de cor sRGB padrão.

10

getType()

Ele retorna o tipo de imagem.

Exemplo

O exemplo a seguir demonstra o uso da BufferedImageclasse java que desenha algum texto na tela usando 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);
   }
}

Resultado

Quando você executa o código fornecido, a seguinte saída é vista -