manejo imagenes con ImageIO
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
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
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
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