java - 如何在 Android 中读取/写入自定义 PNG 元数据?

标签 java android bitmap png metadata

我必须将几个文本参数(一个 UUID 和几个表示整数的字符串)关联到 PNG 图像,当 PNG 文件通过网络从一个 Android 设备传递到另一个设备时,它们可以跟随图像.这是我会使用几个自定义辅助 block (类似于 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 的解决方案会更好,但实际上并不是必需的。

最佳答案

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

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

关于java - 如何在 Android 中读取/写入自定义 PNG 元数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13588965/

相关文章:

android - 表面支架上的凸轮图片,绘制 : Exception because of surface type

php - 如何将当前时间戳添加到图像路径中

java - 如何使用相同的递归函数迭代 Map<String,String> 和 Map<String,Map<String,String>> ?

java - 单击菜单项按钮时打开新 Activity 不起作用

java - 在linux机器上运行hadoop程序

位图上的 C++ 模糊效果有效但颜色已更改

android - Android 中的内存高效图像调整大小

winapi - 从资源文件创建图像列表 - win32

java - 错误 : Could not find or load main class sun. applet.AppletViewer

java - 我不明白私有(private)构造函数如何不能在外部创建实例并阻止子类化(当他这样做时!)