【问题标题】:For image Metadata, what tag allows for the largest character limit?对于图像元数据,什么标签允许最大字符限制?
【发布时间】:2011-06-26 22:30:30
【问题描述】:

例如,Exif 标准有一个“用户评论”标签,我相信它有 256 个字符的限制。

如果我想在元数据中添加一个故事,对于几兆字节的文本,我最好的选择是什么。

基本上,我试图将某些内容存储在图像中,并且在 iPhone 之间传输时不会丢失。我之前将这个图像直接写入图像,将其转换为 NSData,然后附加巨大的字符串,然后将 NSData 更改为 UIImage。这很有效,但是当我通过电子邮件、发短信或将其放入照片库时,我添加的所有信息都丢失了。

显然元数据保留在图像中,我使用用户评论让它工作,但有字符限制。

我将如何使用现有标签或制作自己的标签,以便对文本大小几乎没有限制?我不在乎文件有多大。

【问题讨论】:

    标签: iphone xcode uiimage metadata exif


    【解决方案1】:

    我假设您在谈论 JPEG 图像,因为文件格式是这个问题的核心。

    JPEG 图像具有固有的 64kB 段大小限制。 EXIF UserComment 没有长度限制,但 EXIF 仅限于单个 JPEG 段,因此限制为 64kB。

    一些元数据编辑器(如 ExifTool)支持多段元数据类型。 XMP 和 JPEG cmets 都可以跨越多个段。我建议只使用 JPEG 注释,因为 XMP 的多段支持可能不是很常见。如果您选择 XMP,则 XMP-dc:Description 标签之类的内容可能比较合适。

    【讨论】:

    • +1 用于回答我一段时间以来一直在寻找的关于 JPEG 中 EXIF UserComment 长度的上限大小的问题。您能否向我发送正确的方向,以便能够使用 C# 将大量文本插入 JPEG 图像? (大量,意味着大于 64kB)非常感谢,AA
    • PNG 能更好地处理这个问题吗?更好的是没有 64kb 的限制。
    【解决方案2】:

    您查看过IPTC extended data sets 吗?他们似乎允许你做你想做的事。

    或者如果图像直接在系统之间传输,您可以简单地将其附加到图像数据的末尾 - 例如,给定一个 JPG 谎言,我可以执行以下操作:

    cat >> my image.jpg
    

    写一些文字,不会干扰应用程序读取JPG。

    当然,如果您需要传输的信息在图像的多次编辑中持续存在,那么 EXIF(或 IPTC)是存储数据的唯一方式。

    【讨论】:

    • 是的,我开始整个项目的基础是附加到末尾对我有用,但我从没想过共享方面。当它留在设备上时,它可以完美运行,但是当您尝试将其取下时,它会压缩它或其他东西并丢失。因此,我尝试在 IPTC“标题”中存储一个 1500 页字 300 万左右字符计数的文档,当我 NSLogged 字典时,它显示了所有内容。问题是当我将它保存到它消失的图像时。我想我可能会间接超过限制,这就是它没有节省的原因。
    • 我暂时将此标记为已回答,但如果有人能提出其他答案,请随时添加。
    • 我认为 Caption 可能是具有规定限制的字段之一,它不是扩展数据集的一部分。它可能涉及将 C IPTC 引擎嵌入到您的代码中以进行自己的图像注释,但我认为这值得探索。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-22
    • 2016-05-07
    • 1970-01-01
    • 1970-01-01
    • 2013-12-06
    • 2020-10-12
    相关资源
    最近更新 更多