2008-12-10 14 views
10

Java uygulamamda bir JPEG indirmek, bir PNG'ye aktarmak ve sonuçta ortaya çıkan baytlarla bir şey yapmak istiyorum.Resim dönüştürmesi (JPEG'den PNG'ye) Java ile

Bunu yapmak için bir kütüphaneyi hatırladığımdan kesin olarak eminim, adını hatırlayamıyorum. Yeterli olması gerekir.

cevap

9

ImageIO (bir dosyaya yazmak için istemiyorsanız bir ByteArrayOutputStream içine de) PNG dosyalarını JPEG dosyaları yüklemek ve kaydetmek için kullanılabilir. Bu ben soru sorulduğunda ben toooo uzakta kutusunun dışında düşünüyordum yapıyor sona budur

12

javax.imageio. BufferedImage için JPEG koyun , daha sonra kaydedin:

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

..

// 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

Kod örneği burada yardımcı oldu. Yeni bir dosyaya yazmamaya sevindim. – 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

Bunun nesi yanlış? –