代码之家  ›  专栏  ›  技术社区  ›  akaru

如何在不加载映像的情况下为文件系统上的现有映像写入或修改EXIF数据?

  •  5
  • akaru  · 技术社区  · 14 年前

    我以前也问过类似的问题,但没有得到明确的答案。似乎必须有一种方法可以简单地向图像添加/修改元数据,而无需将图像加载到内存中,也无需直接读取位。

    使用时似乎存在一些方法 CMSampleBufferRef s、 但我需要能够用已经保存到磁盘的常规映像来完成这项工作。
    例如,给定一个非常大的 png 在 /Documents/photo.png ,我想在不必加载该图像的情况下修改其exif元数据。

    2 回复  |  直到 13 年前
        1
  •  9
  •   user529758 user529758    14 年前

    你可以使用libexif——我之前已经成功地为iOS编译了它。使用libexif,您可以修改任何图像的EXIF元数据。

        2
  •  0
  •   Zelter Ady    14 年前

    如果你知道如何修改EXIF,你可以直接从文件中修改二进制数据。只需将图像中的二进制部分替换为新的二进制部分。 我不知道objective-c是否允许这样做,但在ansi中,c应该很简单。复杂的部分是确定要更改的确切部分。