【问题标题】:Tiff versus BigTiffTiff 与 BigTiff
【发布时间】:2017-04-12 18:23:30
【问题描述】:

如果有其他 Stack Exchange 社区更适合这个问题,请告诉我。

我试图了解 Tiff 和 BigTiff 之间的基本区别。我查看了各种站点,唯一提到的区别是 BigTiff 使用 64 位偏移量,而 Tiff 使用 32 位偏移量。话虽如此,您需要知道您正在阅读两种类型中的哪一种。这是怎么做的?根据https://www.leadtools.com/help/leadtools/v19/main/api/tifffmt.html,这是通过读取文件标志来完成的。但是,他们所指的标志对于他们自己的读者来说似乎是唯一的,因为我无法在 http://www.fileformat.info/format/tiff/egff.htm 所示的规范中找到相应的数据字段。我错过了什么? BigTiff 是否使用与 Tiff 不同的文件头?

【问题讨论】:

  • 您在我们的文档中找到的页面是正确的;它确实是 LEADTOOLS 特有的,并不是关于 BigTIFF 格式本身的指南。我们的 SDK 不会直接让您访问 TIFF 和 BigTIFF 标头的位和字节,因为它旨在简化处理图像格式及其子类型(数百种)。如果您想使用 SDK 的免费评估将您的发现与我们的实现进行比较,请随时 download it from our website

标签: tiff


【解决方案1】:

@cgohlke 发布的the BigTIFF link 中描述了您需要了解的所有内容。这只是为了回答您的问题:

是的,它使用不同的文件头。

普通 TIFF 使用以下标头:

  • 2 字节字节顺序标记,“II”表示“Intel”/little endian,或“MM”表示“Motorola”/big endian。
  • (版本)编号 42* 为 16 位值,采用给定的字节顺序。
  • IFD0 的无符号 32 位偏移量

BigTIFF 使用略有不同的标题:

  • 2字节字节序标记同上
  • (版本)编号 43 为 16 位值,采用给定的字节顺序。
  • 偏移量的字节大小为 16 位值,BigTIFF 始终为 8
  • 2 字节填充,BigTIFF 始终为 0
  • IFD0 的无符号 64 位偏移量

*) 选择 42 是因为它“具有深刻的哲学意义”。或者按照官方规范,“[a]n 任意但精心挑选的数字”...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    • 2014-10-27
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多