我对在字节级别手动将IPTC字段注入JPG文件感兴趣。JPEG文件有多个带有适当大小标记的元数据段。IPTC的分段容器有:
App13-从FF ED XX XX ..
开始
8BIMIPTC文本元数据-从38 42 49 4D 04 04 00 00 00 00 XX XX ..
开始
IPTC字段以1C 02 50 XX XX ..
开头(0x50=80,IPTC字段#80)。
(XX XX=描述所述段数据的大小的长度字的2个字节)。
JPEG文件中是否有其他大小标记;需要注意的元数据?在添加带有自定义IPTC字段的元数据段时,我是否必须增加它们的大小?
如何添加自定义元数据字段(例如#225),该字段将适用于已经包含IPTC片段的所有JPEG图像?
在C#中工作,但这是一个关于字节操作的问题,所以我想语言无关紧要。
由于没有人回复,我会解释我做了什么。
广告1。我上面提到的文件标记足以操作IPTC。
广告2。在字节级别的手动IPTC操作过程中,如果意外删除或覆盖现有字节,尤其是当它们是标记(某些JPEG文件部分的标题)时,您可能很容易损坏文件。
广告3。必须找到并增加App13以及具有新元数据字段长度的适当8BIM和IPTC标记(IPTC报头的内容大小+5字节)。因此,例如,要添加新字段#09,您必须找到8BIM IPTC段(38 42 49 4D 04 00 00 00 XX XX XX),并用新的字大小增加XX XX字节。然后增加包装App13段(找到8BIM之前的最后一个FF ED XX XX段)的大小,最后在8BIM的末尾(由于段长度字节,您知道末尾),您只需添加新的IPTC字段,如1C 02 09 00 05-添加长度为5的元数据字段#09。以下5个字节将被视为字段内容=您添加的单词。
是的,它有点混乱,但有效:-)