将上传的图像从各种格式转换为JPEG

时间:2011-02-02 02:33:27

标签: java image-processing jai

我正在开发一个允许用户上传图片的网站。我希望能够接受BMP,GIF,JPEG和PNG(以及可能有一两个像TIFF这样的格式)。我正在使用Apache Commons FileUpload库来实现这一目标。为了使所有图像以相同的格式结束,我想将所有图像格式转换为JPEG格式。

最简单的方法是什么,这将适用于所有上述图像格式?

我试过了:

  • ImageIO.read(),其中{J}个文件为javax.imageio.IIOException: Unexpected block type 0!,JPEG文件为java.awt.color.CMMException: Invalid image format
  • JAI,它为GIF文件提供了大量的错误跟踪。

编辑:有关JAI方法的信息:

堆栈跟踪:

  

错误:一个工厂因“gif”

操作失败      

发生在:javax.media.jai.ThreadSafeOperationRegistry

接着是数百行痕迹。

代码:

public static void convertToJPG(String originalFile, String newFile) throws Exception {
    RenderedImage image = JAI.create("fileload", originalFile);
    JAI.create("filestore", image, newFile, "JPEG");
}

图片:

An image which doesn't work.

1 个答案:

答案 0 :(得分:4)

请查看ImageMagick,特别是转换命令。