2011-05-17 142 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);