所有
我试图在网络浏览器中显示TIFF图像,但由于它们本身不受支持,我使用像
这样的函数将它们转换为javax.imageio.ImageIO的不同格式void convert(String filename, InputStream is, String outputType, OutputStream out) throws IOException {
if (filename.endsWith(".tif") || filename.endsWith(".tiff")) {
BufferedImage image = ImageIO.read(is);
if (image == null) {
LOG.error("Failed to read image");
} else {
ImageIO.write(image, outputType, out);
}
}
此在我的 Windows 桌面上运行,我的linux( ubuntu )桌面,但我的无效 RedHat 服务器4.4.7和4.8.5。 我收到了消息"无法读取图片"在我的日志中(结果图像变量因此为空)。
我一直在打印出可用的格式名称,以查看我可以使用的内容,但只能获得" [JPG,jpg,bmp,BMP,gif,GIF,WBMP,png,PNG,jpeg, wbmp,JPEG]"。所以没有tif,tiff,TIF或TIFF。
我尝试将以下内容添加到我的pom.xml
<dependency>
<groupId>com.github.jai-imageio</groupId>
<artifactId>jai-imageio-core</artifactId>
<version>1.3.1</version>
</dependency>
或
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-tiff</artifactId>
<version>3.3.2</version>
</dependency>
但无济于事。
现在我了解到ImageIO基于需要安装在jvm中的插件,但无法准确确定需要什么以及如何操作。
有人可以告诉我在哪里可以找到这样的插件吗?
由于
威廉
PS我试过java7和java8
PS2我不确定以下评论是否相关,但我记得几年前在服务器上出现问题,因为它没有安装显卡,因此没有安装某些库,因为认为不必要。我的RedHat服务器在虚拟机上运行,所以我猜他们也没有安装任何图形卡。也许这可能暗示一个线索
PS3我还试图将jai_codec添加到我的依赖项中,因为另一个旧项目在它的类路径中有它。但是我无法通过maven下载它。似乎依赖性不再存在。 我尝试了不同的groupId,artifcatId(带有破折号和下划线)和版本,但没有一个正在工作/下载。