【发布时间】:2011-02-02 02:33:26
【问题描述】:
我正在开发一个允许用户上传图片的网站。我希望能够接受 BMP、GIF、JPEG 和 PNG(可能还有一两种其他格式,例如 TIFF)。我正在使用 Apache Commons FileUpload 库来实现这一点。为了使所有图像最终都采用相同的格式,我想将所有图像格式转换为 JPEG 格式。
适用于上述所有图像格式的最简单方法是什么?
我试过了:
- ImageIO.read(),它为某些 GIF 文件提供
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");
}
图片:
【问题讨论】:
-
JAI 可以处理 GIF 文件的解码,您能分享一些 GIF 文件或向我们展示您的一些代码以及至少错误跟踪的顶部吗?
标签: java image-processing jai