Convertir Byte [] a Imagen en Java

Convertir Byte [] a Imagen en Java

Una imagen en byte [] puede estar guardado en una base de datos y queremos recuperar esa imagen en Java y mostrarlo.


Yo desarrolle una forma de hacerlo, primero necesitamos de BufferedImage para guardar la imagen, el InputStream para leer el byte [] de la imagen y almacenarlo en el BufferedImage.

BufferedImage image = null;
InputStream in = new ByteArrayInputStream(imgFoto);
image = ImageIO.read(in);

Donde imgFoto es tu arreglo de Byte [] de la imagen, por ejemplo supongamos que en una base de datos tengo un campo con fotos y esta en la columna 3 y es del tipo Blob.

Blob blob = resultset.getBlob(3);
//primero me aseguro que no este vacío.
if(blob != null){
   try{
  byte[] data = blob.getBytes(1, (int)blob.length());
  BufferedImage img = null;

  try{
  img = ImageIO.read(new ByteArrayInputStream(data));
  }
  catch(Exception ex){
  System.out.println(ex.getMessage());
  }

 ImageIcon icono = new ImageIcon(img);
 JOptionPane.showMessageDialog(null, "Imagenes", "Imagen", JOptionPane.INFORMATION_MESSAGE, icono);

  }catch(Exception ex){
   //No hay imagen
  }
}
else{
 //No hay imagen
}

Veamos otro ejemplo esta vez obtengo la imagen de un archivo, luego lo convierto a byte [], y por finalizar convierto el byte [] en imagen.

public static void main(String[] args) {
     
        try{
            File archivo = new File("C:\\Users\\David\\Pictures\\za.jpg");
            byte[] imgFoto = new byte[(int)archivo.length()];
            InputStream inte = new FileInputStream(archivo);
            inte.read(imgFoto);
         
            BufferedImage image = null;
            InputStream in = new ByteArrayInputStream(imgFoto);
            image = ImageIO.read(in);

            ImageIcon icono = new ImageIcon(image);
            JOptionPane.showMessageDialog(null, "Imagenes", "Imagen", JOptionPane.INFORMATION_MESSAGE, icono);
        }catch(Exception ex){
            System.out.println(ex.getMessage());
        }
    }



Comentarios

Publicar un comentario

Entradas populares de este blog

Convertir jar a ejecutable exe con Launch4j

Librería para cambiar apariencia ventana y frames Java

Component mscomctl.ocx or one of its dependencies not correctly registered