1

通过阅读 LibTIFF 源代码,在我看来,自定义 LibTIFF 的主要方法是定义新标签并实现新编解码器。此外,由于 LibTIFF 是开源的并且具有自由许可证,因此需要出于各种目的对其进行调整的用户可以直接对其进行修改。

但是,有一种自定义似乎不适合这两种扩展方法:我想安装各种事件侦听器(回调函数),以便我可以检测现有编解码器内部发生的各种情况。

示例 #1:我希望能够替换 LibTIFF 的错误/警告消息处理程序,以便它是线程安全的,并将消息发送到调用者设置的回调函数。

示例 #2:一些 TIFF 图像可能缺少一些标签,而 LibTIFF 试图通过猜测它们的值来弥补它们。有时某些标签显然是错误的,LibTIFF 会尝试更正它们。但是,我希望有一个回调函数,只要 LibTIFF 更改标签的值,它就会收到通知,以便我可以记录它并生成有关图像符合标准的报告。

示例 #3:我需要将多页 TIFF 的几页连接在一起。这些页面具有相同的尺寸和压缩参数。如果我可以访问压缩数据,那么我可以通过将压缩数据逐字复制到新 TIFF 图像的条带中来更有效地执行此操作。

向 LibTIFF 添加回调函数/事件侦听器的推荐方法是什么,而不会使其架构复杂化?

4

0 回答 0