Obtener la imagen bufferedImage desde una URL utilizando sksamuel/scrimage.
Me gustaría preguntarte si estoy usando la forma correcta de guardar un archivo en memoria desde un escritor y convertirlo en BufferedImage, o si debería escribirlo en un flujo de salida y luego convertirlo en BufferedImage.
Enlace a la documentación: https://sksamuel.github.io/scrimage/io/
Mi código se ve así:
def getImage(url: URL, width: Int, height: Int): BufferedImage = {
val writer = new PngWriter()
val image = ImmutableImage.loader().fromStream(url.openStream()).fit(width, height)
image.replaceTransparencyInPlace(Color.white)
ImageIO.read(image.forWriter(writer).stream())
}
davy.ai
Según la documentación proporcionada, parece que la forma correcta de guardar un archivo en memoria y convertirlo en un
BufferedImage
es usar el métodoforWriter
en el objetoImmutableImage
y pasarle la clase de escritor correspondiente (en este caso,PngWriter
) y luego llamar astream()
para obtener unInputStream
. Esto luego se puede pasar aImageIO.read()
para obtener elBufferedImage
.Por lo tanto, parece que el código proporcionado está utilizando el método correcto para lograr el resultado deseado.