java - 如何使用 Java 按图 block 读取 TIFF 文件?

标签 java tiff java-io jai

假设我有一个非常大的 TIFF 图像作为输入。由于必须遵守内存规范,我无法完全加载此图像。所以以下不是一个选项:

BufferedImage data = ImageIO.read(image);

是否有任何 Java 库允许在不缓冲整个图像的情况下读取图像的特定部分?或者从流中获取 TIFF 图 block 的一些方法?

最佳答案

ImageIO 可以为您提供 Tiff 的 ImageReader,然后您可以使用 readTile . ImageIO 有几个 getImageReadersBy... 方法。

我不知道 ImageIO 是否支持 tiff,但 ImageIO 使用 java SPI,因此可以插入 ImageReaders 和 ImageWriters。

事实上,这是为图 block 配置的 ImageReadParamread 的快捷方式。

从未使用过磁贴,但看到之前的答案,我想指出这个选项。

关于java - 如何使用 Java 按图 block 读取 TIFF 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26139065/

相关文章:

java - 如果帧大小> 1,则Java AudioInputStream IOException无法读取单个字节

java - 如何找到多位数字中的最高位?

java - 在 spring boot 测试中使用 wiremock 随机端口设置属性

java - 在可执行 jar 中加载 xml 文件给出错误文件无法找到,从 eclipse 运行没问题

resize - 使用 imgscalr 调整 .tif 图像的大小

python - 使用 PIL 将图像保存为压缩的 TIFF 时出现 OSError

c# - 如何在 .Net 中修改 tiff 创建日期

java - LocalDateTime 的 Spring + Thymeleaf ConversionFailedException

java - 当我提取对象输入/输出流时出现 EOFException

java - File.length() 与 windows 不同,文件内容仍然相同吗?