Classe Java BufferedImage
La BufferedImage
classe 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 BufferedImage
oggetti hanno una coordinata nell'angolo superiore sinistro di (0, 0).
Costruttori
Questa classe supporta tre tipi di costruttori.
Il primo costruttore costruisce un nuovo BufferedImage
con un ColorModel e un Raster specificati.
BufferedImage(ColorModel cm, WritableRaster raster,
boolean isRasterPremultiplied, Hashtable<?,?> properties)
Il secondo costruttore costruisce BufferedImage
uno dei tipi di immagine predefiniti.
BufferedImage(int width, int height, int imageType)
Il terzo costruttore costruisce BufferedImage
uno 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 |
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 |
5 | getGraphics() Questo metodo restituisce un Graphics2D, mantiene la compatibilità con le versioni precedenti. |
6 | getHeight() Restituisce l'altezza del |
7 | getMinX() Restituisce la coordinata x minima di questo |
8 | getMinY() Restituisce la coordinata y minima di questo |
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 BufferedImage
classe 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: