如何将多个png图像转换为单个tiff文件

我有一个png格式的几个图像的字节数组。 我必须将其转换为tiff文件,然后转换为相应的字节数组。 这个tiff文件将保存多个图像。

我已经接受了很多,但我没有成功。 问题是。 我只能在java中这样做!! :)任何人都可以就我的问题提供一些见解吗?

我不会受益于ImageMagick等,因为我有一个服务器组件来处理这个转换,然后将它作为tiff保存在后端。 客户端给我一个字节数组,它将转换为png图像。

JMagick库是ImageMagickJava接口 ,可能就是您想要的。

您是否正在尝试以编程方式执行此操作? 你可能想看看ImageMagick( http://www.imagemagick.org/script/index.php

如果你正在编写某种shell脚本(bash,batch),你可以调用convert命令(它是该包的一部分。)否则,ImageMagick的所有function都可以通过库(C,perl等)获得。你可以尝试链接你的程序。

我使用ghostscript创建了多页PDF文件,你可以做类似的事情。 我的特定应用程序有许多JPG文件,我传递给命令行调用windows上的ghostscript来创建一个多页PDF。

如果我这样做,我会先将png文件写入磁盘。 接下来使用ghostscript创建一个多页ps文件,将所有PNG文件作为输入,并输出到sinlge PostScript文档。 最后,使用ps2tif之类的东西进行最终转换。 您可以通过以编程方式编写批处理脚本或让应用程序直接调用命令行应用程序来自动执行该过程。

这在Unix / Linux环境中可能是最容易做到的,但是在Win32上使用相同的工具是可行的。

您应该使用JAI(Java Imaging API)。 它能够读/写PNG并且至少能够读取TIFF(也应该支持写入)。

http://java.sun.com/products/java-media/jai/iio.html

如果不支持写作,请使用Lizard的Tiff Library for Java( http://www.lizardworks.com/libs.html

在此主题中,您可以找到如何将多个文件合并为一个TIFF。 海报有问题更改TIFF元数据但这不应该影响您的问题。 http://forums.java.net/jive/thread.jspa?messageID=244190&tstart=0