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 |
| 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 |
| 5 | getGraphics() Este método devuelve Graphics2D, conserva la compatibilidad con versiones anteriores. |
| 6 | getHeight() Devuelve la altura del |
| 7 | getMinX() Devuelve la coordenada x mínima de este |
| 8 | getMinY() Devuelve la coordenada y mínima de este |
| 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: