Saltar al contenido

¿Cómo convertir BufferedImage a InputStream?

Verificamos de forma cada tutorial en nuestra página web con la meta de mostrarte en todo momento información con la mayor veracidad y certera.

Solución:

BufferedImageByteArrayOutputStreambyte[]ByteArrayInputStream

Utilizar el ImageIO.write metodo para hacer un BufferedImage (el cual es un RenderedImage) en un ByteArrayOutputStream. A partir de ahí obtener un byte array (byte[]), introduciendo eso en un InputStream de tipo ByteArrayInputStream.

ByteArrayOutputStream os = new ByteArrayOutputStream();
ImageIO.write(buffImage, "jpeg", os);                          // Passing: ​(RenderedImage im, String formatName, OutputStream output)
InputStream is = new ByteArrayInputStream(os.toByteArray());

Ambos ByteArrayOutputStream y InputStream implementar AutoCloseable. Por lo tanto, puede convenientemente cerrarlos automáticamente mediante el uso de la sintaxis de prueba con recursos.

Debe guardar BufferedImage en un ByteArrayOutputStream utilizando el ImageIO clase, luego crea una ByteArrayInputStream de toByteArray().

Antes que nada debes obtener tus “bytes”:

byte[] buffer = ((DataBufferByte)(bufferedImage).getRaster().getDataBuffer()).getData();

y luego usar ByteArrayInputStream(byte[] buf) constructor para crear su InputStream;

Tienes la opción de estimular nuestra labor exponiendo un comentario y dejando una puntuación te damos las gracias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *