4

我正在开发一个允许用户上传图片的网站。我希望能够接受 BMP、GIF、JPEG 和 PNG(可能还有一两种其他格式,如 TIFF)。我正在使用 Apache Commons FileUpload 库来实现这一点。为了使所有图像最终都采用相同的格式,我想将所有图像格式转换为 JPEG 格式。

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

我努力了:

  • ImageIO.read(),javax.imageio.IIOException: Unexpected block type 0!用于一些 GIF 文件和java.awt.color.CMMException: Invalid image formatJPEG 文件。
  • 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");
}

图片:

一个不起作用的图像。

4

1 回答 1

4

看看ImageMagick,特别是 convert 命令。

于 2011-02-02T03:10:06.557 回答