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:
BufferedImage
➙ ByteArrayOutputStream
➙ byte[]
➙ 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.