Crear imagen PNG para exportar con Java Java
Publicado: 11 de Nov del 2009Prohibida la reproducción total o parcial de este artículo sin el previo consentimiento de Webtutoriales.com
Código para crear una imagen PNG en un buffer para exportarla a un archivo
El siguiente código puede ser útil si por ejemplo tenemos una aplicación gráfica con un lienzo donde se pintan figuras y queremos exportar toda la imagen a un archivo externo como un PNG.
La función crea un buffer donde se almacena la imagen.
Los atributos getWidth() y getHeight() son el tamaño de la imagen. Pintamos un rectángulo en blanco del mismo tamaño que el lienzo, que será el color de fondo por defecto.
public BufferedImage crearPNG() {
BufferedImage bufferedImage = new BufferedImage(this.getWidth(), this.getHeight(), BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = bufferedImage.createGraphics();
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2.setColor(Color.white);
g2.fillRect(0, 0, this.getWidth(), this.getHeight());
// Aquí deberíamos introducir el código que queramos pintar.
g2.dispose();
return bufferedImage;
}
Una posible forma de exportar la imagen PNG sería utilizar la función write en un archivo file ya definido.
try {
ImageIO.write(crearPNG(), "png", file);
} catch (IOException ex) {
}
Estos sencillos pasos nos pueden ayudar a exportar imágenes creadas desde nuestros programas.