Pregunta: | 30809 - GUARDAR IMAGEN A DISCO COMO JPEG |
Autor: | Abel |
Me gustaría saber como guardar la imagen almacenada en un BufferedImge en disco en formato jpeg o gif
Muchas gracias |
Respuesta: | Abel |
He encontrado esto en un foro de noticias, no lo he probado pero me imagino que funcionará:
Este codigo guarda un JPEG. Esto es de la parte OSCURA de la api de Java. Solo te paso el trozo codigo con ciertos tags <<>> que debes substiruir por lo falte. Seguro que hay otra forma de hacerlo mas eficiente, pero esta seguro que ya te sirve. Que la fuerza te acompañe. Xmas import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.awt.image.*; import java.io.*; import com.sun.image.codec.jpeg.*; // OSCURO, MUY OSCURO .... ImageIcon img=new ImageIcon(<<IMAGE>>); while(img.getImageLoadStatus()==MediaTracker.LOADING) {}; if(img.getImageLoadStatus()!=MediaTracker.COMPLETE) throw new Exception("No es posible leer la imagen"); int width=img.getIconWidth(); int height=img.getIconHeight(); BufferedImage bimg = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); Graphics2D g = (Graphics2D)bimg.getGraphics(); // Mandamos a dibujamos la imagen g.drawImage(img.getImage(),0,0,<<ImageObserver>>); java.io.FileOutputStream fos=new java.io.FileOutputStream(<<FILENAME.JPG>>); JPEGImageEncoder jpeg = JPEGCodec.createJPEGEncoder(fos); jpeg.encode(bimg); fos.flush(); fos.close(); |