Classe Java BufferedImage

La BufferedImageclasse Java è una sottoclasse della classe Image. Viene utilizzato per gestire e manipolare i dati dell'immagine. A BufferedImageè costituito da ColorModel di dati immagine. Tutti gli BufferedImageoggetti hanno una coordinata nell'angolo superiore sinistro di (0, 0).

Costruttori

Questa classe supporta tre tipi di costruttori.

Il primo costruttore costruisce un nuovo BufferedImagecon un ColorModel e un Raster specificati.

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

Il secondo costruttore costruisce BufferedImageuno dei tipi di immagine predefiniti.

BufferedImage(int width, int height, int imageType)

Il terzo costruttore costruisce BufferedImageuno dei tipi di immagine predefiniti: TYPE_BYTE_BINARY o TYPE_BYTE_INDEXED.

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

Suor n Metodo e descrizione
1

copyData(WritableRaster outRaster)

Calcola una regione rettangolare arbitraria di BufferedImagee la copia in un WritableRaster specificato.

2

getColorModel()

Restituisce l'oggetto della classe ColorModel di un'immagine.

3

getData()

Restituisce l'immagine come un'unica grande tessera.

4

getData(Rectangle rect)

Calcola e restituisce una regione arbitraria di BufferedImage.

5

getGraphics()

Questo metodo restituisce un Graphics2D, mantiene la compatibilità con le versioni precedenti.

6

getHeight()

Restituisce l'altezza del BufferedImage.

7

getMinX()

Restituisce la coordinata x minima di questo BufferedImage.

8

getMinY()

Restituisce la coordinata y minima di questo BufferedImage.

9

getRGB(int x, int y)

Restituisce un pixel intero nel modello di colore RGB predefinito (TYPE_INT_ARGB) e nello spazio colore sRGB predefinito.

10

getType()

Restituisce il tipo di immagine.

Esempio

L'esempio seguente mostra l'uso della BufferedImageclasse java che disegna del testo sullo schermo utilizzando l'oggetto grafico:

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

Produzione

Quando esegui il codice dato, viene visualizzato il seguente output: