manejo imagenes con ImageIO

james11
20 de Mayo del 2009
hola amigos, en este momento estoy desarrollando una aplicacion q carga una imagen usando

imageIO.read(Image);

modifica algunos pixeles y finalmente graba copia de la imagen usando

ImageIO.write(image, "JPEG", chooser.getSelectedFile());

el proceso funciona perfectamente pero al ver copia de la imagen la resolucion ha decaido considerablemente al igual que el peso de la imagen, lo cual no puede suceder...

agradezco cualquier ayuda q puedan darme

J

miguelromano
20 de Mayo del 2009
Hola:

Lo que tienes que hacer es decirle explicitamente al writer que calidad de compresion necesitas.

Lo que tienes que hacer es:

Iterator iter = ImageIO.getImageWritersByFormatName(\"jpeg\");

ImageWriteParam iwp = writer.getDefaultWriteParam();



iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
iwp.setCompressionQuality(1); //un entero entre 0 y 1 and 1
// 1 especifica minima compresion y maxima calidad

y por ultimo utilizas el constructor write pasando el ImageWriterParam

ImageIO.write(image, \"JPEG\", iwp);


Espero te sirva

Saludos