2008-12-10 25 views

Respuesta

9

ImageIO se puede utilizar para cargar archivos JPEG y guardar archivos PNG (también en un ByteArrayOutputStream si no desea escribir en un archivo).

12

javax.imageio debería ser suficiente. Ponga su JPEG a BufferedImage, a continuación, guardarlo con:

File file = new File("newimage.png"); 
ImageIO.write(myJpegImage, "png", file); 
22

Esto es lo que terminé haciendo, estaba pensando toooo lejos fuera de la caja cuando hice la pregunta ..

// these are the imports needed 
import java.awt.image.BufferedImage; 
import java.io.File; 
import javax.imageio.ImageIO; 
import java.io.ByteArrayOutputStream; 

// read a jpeg from a inputFile 
BufferedImage bufferedImage = ImageIO.read(new File(inputFile)); 

// write the bufferedImage back to outputFile 
ImageIO.write(bufferedImage, "png", new File(outputFile)); 

// this writes the bufferedImage into a byte array called resultingBytes 
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream(); 
ImageIO.write(bufferedImage, "png", byteArrayOut); 
byte[] resultingBytes = byteArrayOut.toByteArray(); 
+1

ejemplo Código era útil en este caso. Me alegro de no escribir en un nuevo archivo. – clay

0
BufferedImage bufferGambar; 
try { 

    bufferGambar = ImageIO.read(new File("ImagePNG.png")); 
    // pkai type INT karna bertipe integer RGB bufferimage 
    BufferedImage newBufferGambar = new BufferedImage(bufferGambar.getWidth(), bufferGambar.getHeight(), BufferedImage.TYPE_INT_RGB); 

    newBufferGambar.createGraphics().drawImage(bufferGambar, 0, 0, Color.white, null); 
    ImageIO.write(newBufferGambar, "jpg", new File("Create file JPEG.jpg")); 

    JOptionPane.showMessageDialog(null, "Convert to JPG succes YES"); 

} catch(Exception e) { 
    JOptionPane.showMessageDialog(null, e); 
} 
+0

¿Qué pasa con este? –

Cuestiones relacionadas