Perda de Qualidade ao Salvar Imagens com ImageIO

Bom… peguei uma imagem que eu já tinha e tentei salvar utilizando

ImageIO.write(img, "JPG" , new File("C:/imagem.jpg"));

onde img é um objeto BufferedImage que criei utilizando uma outra imagem que tinha em disco.

O problema é que quando vou verificar os atributos da imagem eu vejo que houve uma perda de qualidade. A resolução continua a mesma mas a qualidade caiu de 100 dpi(vertical e horizontal) para 72 dpi(vertical e horizontal).

Como eu estou fazendo algumas operações com os bits do objeto img, eu não posso perder nada de informação da imagem. Da forma como ela está no img eu preciso que ela continue no “imagem.jpg” Isso é possível?

Nobre posta aí o código completo para salvar imagem por favor!
Eu estou precisando dele tbm!
=D
Abraço!

JPG é um formato que prevê perda de informação da imagem para obter o máximo de compressão do arquivo final. Eu usaria um formato de arquivo que não use perda de informação, tal como PNG.

opa! esqueci de atualizar esse tópico. Foi isso mesmo roger, poucos dias depois eu testei como PNG não houve perda de informação e deu tudo certo.

E igor, para salvar a imagem é só isso mesmo. Você chama o método write do ImageIO que já salva em disco um objeto RenderedImage, no meu caso BufferedImage. Aí pra abrir uma imagem você usa o método read do ImageIO também. No site da Sun você encontra quais os formatos de imagem que podem ser abertos e escritos.