5

我有兴趣在字节级别手动将 IPTC 字段注入 JPG 文件。JPEG 文件具有多个带有可观大小标记的元数据段。IPTC 的分段容器是:

App13 - 以FF ED XX XX ..

8BIM IPTC 文本元数据 - 以38 42 49 4D 04 04 00 00 00 00 XX XX ..

IPTC字段以1C 02 50 XX XX ..(0x50 = 80, IPTC field #80) 开头。

(XX XX = 2 个字节的长度字描述所提到的段数据的大小)。

JPEG 文件和元数据中是否还有其他尺寸标记需要注意?在使用自定义 IPTC 字段附加元数据段时,我是否必须增加它们的大小?

如何添加适用于所有已包含 IPTC 段的 JPEG 图像的自定义元数据字段(例如 #225)?

在 C# 中工作,但这是一个关于字节操作的问题,所以我猜语言并不重要。

4

1 回答 1

2

由于没有人回答,我会解释我做了什么。

广告 1. 我上面提到的文件标记足以操纵 IPTC。

ad 2. 在字节级别的手动 IPTC 操作期间,如果您不小心删除或覆盖现有字节,特别是如果它们是标记(某些 JPEG 文件部分的标题),您可能很容易损坏文件。

广告 3. 必须找到并增加 App13 和适当的 8BIM 和 IPTC 标记以及新元数据字段的长度(内容大小 + IPTC 标头的 5 个字节)。因此,例如要添加新字段 #09,您必须找到 8BIM IPTC 段(38 42 49 4D 04 04 00 00 00 00 XX XX)并使用新的字长增加 XX XX 字节。然后增加包装 App13 段(在 8BIM 之前找到最后一个 FF ED XX XX 段)大小,最后在 8BIM 末尾(由于段长度字节,您知道结尾)您只需添加新的 IPTC 字段,如 1C 02 09 00 05 -添加长度为 5 的元数据字段 #09。以下 5 个字节将被视为字段内容 = 您添加的单词。

是的,这有点混乱,但有效:-)

于 2011-06-09T08:37:58.183 回答