例如,Exif标准有一个“用户评论”标签,我认为该标签的长度限制为256个字符。
如果我想添加让故事说成元数据,那么对于几兆字节的文本来说,最好的选择是什么。
基本上我正在尝试将某些内容存储在图像中,并且在iPhone之间传输时不会丢失。我将此图像直接写入图像之前将其转换为NSData,然后附加巨大的字符串,然后将NSData更改为UIImage。这有效,但当我通过电子邮件发送,发短信或将其放入图片库时,我添加的所有信息都丢失了。
显然元数据与图像保持一致,我使用用户评论工作,但是有字符限制。
我如何使用现有标签或制作自己的标签,以便对文字大小几乎没有限制?我不在乎文件有多大。
答案 0 :(得分:3)
我假设你在谈论JPEG图像,因为文件格式是这个问题的核心。
JPEG图像具有固有的64kB段大小限制。 EXIF UserComment没有长度限制,但EXIF仅限于一个JPEG段,因此限制为64kB。
某些元数据编辑器(如ExifTool)支持多段元数据类型。 XMP和JPEG注释都可能跨越多个段。我建议只使用JPEG评论,因为XMP的多段支持可能不常见。如果选择XMP,则类似XMP-dc:Description标签的内容可能适用。
答案 1 :(得分:1)
你有没有看过IPTC extended data sets?他们似乎允许你想做的事。
或者如果图像直接在系统之间进行,您可以简单地将其附加到图像数据的末尾 - 例如,给定JPG谎言我可以执行以下操作:
cat >> my image.jpg
写一些文字,它不会干扰阅读JPG的应用程序。
当然,如果您需要传输的信息经过多次图像编辑,那么EXIF(或IPTC)是存储数据的唯一方式。