我需要能够更新图像元数据(即标签,创建者,描述,评论) 并在常规的Exif和XMP中执行。我很可能会阅读Exif并编写XMP。
在寻找一个也可以编写的图书馆之后,我遇到了十二只猴子。
https://github.com/haraldk/TwelveMonkeys
这似乎很有希望。确实,我不费吹灰之力就可以阅读其中一张图片中包含说明的Exif。请注意,不是使用标准的javax API,而是使用十二只猴子API。这对我来说没问题。不管用什么!
在这一点上,我很乐意尽可能地避免使用标准API,因为标准API似乎令人费解并且效率低下。我开始阅读Exif,并为概念验证编码修改内容。这个想法是,实现我想要的(对JPEG文件中的元数据进行快速而安全的修改)的最有效方法是执行以下步骤:
但是,当我发现似乎没有
的实现时,我感到有些沮丧。com.twelvemonkeys.imageio.metadata.Directory
实现方法
add(Entry)
和
remove(Object)
除
以外的任何其他值throw new UnsupportedOperationException("Directory is read-only");
如果这不是有效地(安全地)实现我想要做的事情的方式...有人在建议如何使用纯Java做到这一点吗?