Crear imagen PNG para exportar con Java

en JavaPngExport

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.

1
2
3
4
5
6
7
8
9
10
11
12
13
 
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.

1
2
3
4
5
        try {
            ImageIO.write(crearPNG(), "png", file);
        } catch (IOException ex) {
           
        }

Estos sencillos pasos nos pueden ayudar a exportar imágenes creadas desde nuestros programas.

Prohibida la reproducción total o parcial de este artículo sin el previo consentimiento de Webtutoriales.com

Comentarios