Estoy usando la biblioteca imgscalr de Java para cambiar el tamaño de una imagen.
El resultado de una llamada al método resize () es un objeto BufferedImage. Ahora quiero guardar esto como un archivo (generalmente .jpg).
¿Cómo puedo hacer eso? Quiero ir de BufferedImage
-> File
pero ¿quizás este no es el enfoque correcto?
java
file-io
bufferedimage
Ankur
fuente
fuente
NullPointerException
, usarif (outputfile.exists())
Puede guardar un
BufferedImage
objeto utilizando el método de escritura de lajavax.imageio.ImageIO
clase. La firma del método es así:Aquí
im
está elRenderedImage
para ser escrito,formatName
es la Cadena que contiene el nombre informal del formato (por ejemplo, png) youtput
es el objeto de archivo para ser escrito. A continuación se muestra un ejemplo de uso del método para el formato de archivo PNG:fuente
La respuesta se encuentra en el Tutorial de documentación de Java para escribir / guardar una imagen .
La
Image I/O
clase proporciona el siguiente método para guardar una imagen:El tutorial explica que
entonces puede ser usado en el método.
Por ejemplo,
Es importante rodear la
write
llamada con un bloque de prueba porque, según la API , el método arroja unIOException
"si ocurre un error durante la escritura"También se explican el objetivo del método, los parámetros, los retornos y los lanzamientos, con más detalle:
Sin embargo,
formatName
aún puede parecer bastante vago y ambiguo; el tutorial lo aclara un poco:Sin embargo, hay formatos adicionales que puede usar:
Para un ejemplo completo y práctico, uno puede consultar el ejemplo de Oracle
SaveImage.java
.fuente
Cree y guarde una imagen java.awt.image.buffered en el archivo:
Notas:
fuente
En su código:
fuente
Como un trazador de líneas:
fuente