我感兴趣的是在字节级别上手动将IPTC字段注入JPG文件。JPEG文件有多个元数据段,具有可观的大小标记。分段-- IPTC的容器是:
App13 -从FF ED XX XX ..开始
8 8BIM IPTC文本元数据-从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#中工作,但这是一个关于字节运算的问题,所以我想语言并不重要。
发布于 2011-06-09 08:37:58
既然没有人回答,我就解释我做了什么。
上面我提到的文件标记已经足够操作IPTC了。
在字节级的手动IPTC操作过程中,如果不小心删除或覆盖现有字节,特别是如果它们是标记( JPEG文件部分的标题),您可能很容易损坏文件。
Ad3.必须找到并增加App13,并使用新的元数据字段(内容大小+5个字节的IPTC标头)来查找和增加适当的8 8BIM和IPTC标记。例如,要添加新字段#09,您必须找到8 8BIM段(38 42 49 4D 04 00 000000XX XX),并使用新单词大小增加XX XX字节。然后增加包装App13段(在8BIM之前找到最后一个FF ED XX XX段)大小,最后在8BIM结尾(由于段长字节而知道结束),只需添加新的IPTC字段,如1C0209005-添加长度5的元数据字段#09。以下5个字节将被视为字段内容=您添加的单词。
是的,有点混乱,但效果很好:-)
https://stackoverflow.com/questions/6095123
复制相似问题