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

Java 如何在Android中读取/写入自定义PNG元数据?,java,android,bitmap,png,metadata,Java,Android,Bitmap,Png,Metadata,我必须将两个文本参数(一个UUID和两个表示整数的字符串)关联到PNG图像,当PNG文件通过网络从Android设备传递到另一个设备时,它们可以跟随图像。这是一种典型的情况,在这种情况下,我会使用两个自定义的辅助chunck(类似于EXIF字段)将数据存储在PNG图像本身中 也许只是我,但我能找到的关于在Android上从Java代码中读取和写入PNG自定义元数据的唯一信息是这样一篇文章: 这甚至提供了一些代码(与Java一样,非常冗长) 同样的SO职位也指PNGJ: 老实说,我很高兴在这个项

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

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

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

同样的SO职位也指PNGJ:

老实说,我很高兴在这个项目中不再使用另一个库

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

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

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


一个同样适用于iOS和Windows 8 Phone的解决方案会更好,但实际上并不需要。

最近我不得不做类似的事情,所以我不得不研究这个问题。 Android不提供任何操作png元数据的选项。您必须使用外部库(PNGJ似乎是一个不错的选择)。 在我的例子中,因为我正在修改Android框架,所以我没有使用外部库,而是对skia(Android图形库)进行了修改


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

+1获取适当的研究和链接。我知道您不想使用“另一个”库,因此我不会将此作为aswer发布,但PNGJ(我是编码员)是一个很小的库,添加文本元数据与
png.getMetadata().setText(“我的键”,“我的文本”)
一样详细。谢谢Leon,我会再看看PNGJ。@leonbloy你的
png
PngReader
还是
PngWriter
,你能给出详细的答案吗?