将多页TIFF图像拆分为单个图像(Java) [英] Splitting a multipage TIFF image into individual images (Java)

查看:1584
本文介绍了将多页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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆