Estou usando a biblioteca Java imgscalr para redimensionar uma imagem.
O resultado de uma chamada de método resize () é um objeto BufferedImage. Agora eu quero salvar isso como um arquivo (geralmente .jpg).
Como eu posso fazer isso? Eu quero ir de BufferedImage
-> File
mas talvez essa não seja a abordagem correta?
java
file-io
bufferedimage
Ankur
fonte
fonte
NullPointerException
, useif (outputfile.exists())
Você pode salvar um
BufferedImage
objeto usando o método de gravação dajavax.imageio.ImageIO
classe. A assinatura do método é assim:Aqui
im
está o queRenderedImage
deve ser escrito,formatName
é a String que contém o nome informal do formato (por exemplo, png) eoutput
é o objeto de arquivo no qual ele será gravado. Um exemplo de uso do método para o formato de arquivo PNG é mostrado abaixo:fonte
A resposta está no Tutorial da documentação da Java para gravar / salvar uma imagem .
A
Image I/O
classe fornece o seguinte método para salvar uma imagem:O tutorial explica que
então ele pode ser usado no método
Por exemplo,
É importante cercar a
write
chamada com um bloco try, porque, conforme a API , o método geraIOException
"se ocorrer um erro durante a gravação"Também são explicados o objetivo, os parâmetros, os retornos e os arremessos do método, com mais detalhes:
No entanto,
formatName
ainda pode parecer bastante vago e ambíguo; o tutorial esclarece um pouco:Existem, no entanto, formatos adicionais que você pode usar:
Para um exemplo completo e prático, pode-se consultar o exemplo da Oracle
SaveImage.java
.fonte
Crie e salve uma java.awt.image.bufferedImage no arquivo:
Notas:
fonte
No seu código:
fonte
Como um forro:
fonte