2011-05-17 183 views
1

我有一個磁盤上的圖像,這是一個JPG文件。我想轉換並保存爲PNG並刪除原始JPG。什麼是最好的方式在java中做到這一點?java將JPG保存爲PNG

String justNameJpg = "something.jpg"; 
String justNamePng = ImageEditor.GetImageNameNoExtension(justName) + "." + "png"; 
java.awt.image.BufferedImage bufferedImage = ImageIO.read(new File(folder, justNameJpg)); 
ImageIO.write(bufferedImage, "png", new File(folder, justNamePng)); 

回答

4

如果你想使用的ImageIO這應該工作:

ImageIO.write(image, "png", new File("new output file name")); 
+3

它絕不會傷害檢查.png格式首先檢查它是否存在於由ImageIO.getWriterFormatNames()返回的數組中, – 2011-05-17 16:37:54

0

最好的方法是調用外部工具「imagemagick」。這不是玩笑。我在我的應用程序中這樣做,因爲它比Java中獲得的任何東西都快得多,也更可靠。

0

的ImageMagick是一個不錯的選擇,從@Daniels答案。如果你想在代碼中thumbails轉換,我

http://code.google.com/p/thumbnailator/

它支持改變你的文件格式有很大的運氣,從示例頁面:

OutputStream os = ...; 

Thumbnails.of("large-picture.jpg") 
     .size(200, 200) 
     .outputFormat("png") 
     .toOutputStream(os);