将多页TIFF图像分割成单个图像(Java)

一直在撕我的头发。

如何将多页/多层TIFF图像分成几个单独的图像?

演示图像在这里。

(宁愿使用纯Java(即非本机)解决方案。该解决方案是否依赖于商业库也没关系。)

回答:

您可以使用

库JAI通过使用ImageReader分割多页TIFF:

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) 的全部内容, 来源链接: utcz.com/qa/406824.html

回到顶部