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

时间:2012-11-27 16:45:08

标签: java android bitmap png metadata

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

也许这只是我,但我能够找到的关于在Android上从Java代码中读取和编写PNG自定义元数据的唯一信息就是这样的帖子:

Writing image metadata in Java, preferably PNG

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

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

老实说,我很乐意在这个项目中不再使用另一个图书馆。

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

任何其他信息来源?任何教程?任何一个例子?

如果需要,我可以使用不同的(但等效的)图像文件格式(JPEG,无论如何)。

在iOS和Windows 8 Phone上工作的解决方案也是一个优势,但实际上并不需要。

1 个答案:

答案 0 :(得分:0)

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

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