假设我有一个非常大的 TIFF 图像作为输入。由于必须遵守内存规范,我无法完全加载此图像。所以以下不是一个选项:
BufferedImage data = ImageIO.read(image);
是否有任何 Java 库允许在不缓冲整个图像的情况下读取图像的特定部分?或者从流中获取 TIFF 图 block 的一些方法?
最佳答案
ImageIO 可以为您提供 Tiff 的 ImageReader,然后您可以使用 readTile .
ImageIO 有几个 getImageReadersBy...
方法。
我不知道 ImageIO 是否支持 tiff,但 ImageIO 使用 java SPI,因此可以插入 ImageReaders 和 ImageWriters。
事实上,这是为图 block 配置的 ImageReadParam
的 read
的快捷方式。
从未使用过磁贴,但看到之前的答案,我想指出这个选项。
关于java - 如何使用 Java 按图 block 读取 TIFF 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26139065/