Clase Java BufferedImage
La BufferedImage
clase Java es una subclase de la clase Image. Se utiliza para manejar y manipular los datos de la imagen. A BufferedImage
está hecho de ColorModel de datos de imagen. Todos los BufferedImage
objetos tienen una coordenada de esquina superior izquierda de (0, 0).
Constructores
Esta clase admite tres tipos de constructores.
El primer constructor construye un nuevo BufferedImage
con un ColorModel y Raster especificados.
BufferedImage(ColorModel cm, WritableRaster raster,
boolean isRasterPremultiplied, Hashtable<?,?> properties)
El segundo constructor construye BufferedImage
uno de los tipos de imágenes predefinidos.
BufferedImage(int width, int height, int imageType)
El tercer constructor construye BufferedImage
uno 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 BufferedImage
clase 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: