【问题标题】:How to read/write custom PNG metadata in Android?如何在 Android 中读取/写入自定义 PNG 元数据?
【发布时间】:2012-11-15 08:28:49
【问题描述】:

我必须将几个文本参数(一个 UUID 和几个表示整数的字符串)关联到一个 PNG 图像,当 PNG 文件通过网络从 Android 设备传递到另一个设备时,它们可以跟随图像.这是我会使用几个自定义辅助块(类似于 EXIF 字段)将我的数据存储在 PNG 图像本身中的典型情况。

也许只有我一个人,但我能找到的关于在 Android 上从 Java 代码读取和写入 PNG 自定义元数据的唯一信息是这个 SO 帖子:

Writing image metadata in Java, preferably PNG

它甚至提供了一些代码(非常冗长,与 Java 一样)。

同样的 SO 帖子也指 PNGJ:http://code.google.com/p/pngj/

说实话,我很乐意在这个项目中不再使用另一个库。

有没有人知道在 Android 中在 PNG 文件中写入和读取文本元数据的其他方法?也许是一种不那么冗长的方式……也许是一种不需要分离库的方式……

还有其他信息来源吗?有教程吗?有什么例子吗?

如果需要(JPEG 等),我愿意使用不同(但等效)的图像文件格式。

同样适用于 iOS 和 Windows 8 Phone 的解决方案将是一个加分项,但实际上并不是必需的。

【问题讨论】:

  • +1 进行适当的研究和链接。我知道您不想使用“又一个”库,因此我不会将其发布为 aswer,但 PNGJ(我是编码员)是一个小型库,添加文本元数据非常冗长作为png.getMetadata().setText("my key", "my text")
  • 谢谢 Leon,我再看看 PNGJ。
  • @leonbloy 你的pngPngReader 还是PngWriter,你能发布详细的答案吗?

标签: java android bitmap png metadata


【解决方案1】:

我最近不得不做类似的事情,所以我不得不研究这个主题。 Android 没有为您提供处理 png 元数据的选项。您将不得不使用外部库(PNGJ 似乎是一个不错的选择)。 就我而言,由于我正在对 Android 框架进行更改,因此我没有使用外部库,而是对skia(而不是 Android 图形库)进行了更改。

如果您需要更多信息,我可以给您,但我认为这与您的情况无关。

【讨论】:

    猜你喜欢
    • 2013-02-19
    • 1970-01-01
    • 2017-05-07
    • 2022-12-20
    • 1970-01-01
    • 2011-01-12
    • 2021-05-02
    • 2016-04-29
    • 1970-01-01
    相关资源
    最近更新 更多