将多页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