将多页TIFF图像拆分为单个图像(Java) [英] Splitting a multipage TIFF image into individual images (Java)
本文介绍了将多页TIFF图像拆分为单个图像(Java)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在这张照片上撕裂了我的头发。
Been tearing my hair on this one.
如何将多页/多层TIFF图像分割成多个单独的图像?
How do I split a multipage / multilayer TIFF image into several individual images?
可在这里获得演示图片。
(更喜欢纯Java(即非本机)解决方案。如果解决方案依赖于商业库,则无关紧要。)
(Would prefer a pure Java (i.e. non-native) solution. Doesn't matter if the solution relies on commercial libraries.)
推荐答案
您可以使用 Java Advanced Imaging 库, JAI ,使用ImageReader分割多个TIFF:
You can use the Java Advanced Imaging library, JAI, to split a mutlipage TIFF, by using an ImageReader:
ImageInputStream is = ImageIO.createImageInputStream(new File(pathToImage));
if (is == null || is.length() == 0){
// handle error
}
Iterator<ImageReader> iterator = ImageIO.getImageReaders(is);
if (iterator == null || !iterator.hasNext()) {
throw new IOException("Image file format not supported by ImageIO: " + pathToImage);
}
// We are just looking for the first reader compatible:
ImageReader reader = (ImageReader) iterator.next();
iterator = null;
reader.setInput(is);
然后你可以获得页数:
nbPages = reader.getNumImages(true);
并且分别读取页面:
reader.read(numPage)
这篇关于将多页TIFF图像拆分为单个图像(Java)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文