我正在查看icafe库https://github.com/dragon66/icafe的示例,以了解如何操作图像元数据,但我找不到任何示例。
我正在尝试向EXIF元数据添加一个字段,如Description,并向该字段添加一些示例文本。
另外,从我发现的情况来看,我似乎无法判断icafe是否可以处理图像输入流,或者它是否需要存储在磁盘上的文件的绝对路径?
发布于 2016-10-30 08:39:33
虽然维基页面上没有示例,但实际上有一个关于如何操作元数据的详细示例,可以在源代码包com.icafe4j.test中找到。这个类的名字是TestMetadata,它向你展示了如何插入不同的元数据,如EXIF、IPTC、XMP、注释、缩略图等。
ICAFE与InputStream和OutputStream协同工作。因此,它是否来自本地文件并不重要,只要它是一个InputStream即可。如果你只想添加一些评论,你可以简单地这样做:
FileInputStream fin = new FileInputStream("input.png");
FileOutputStream fout = new FileOutputStream("comment-inserted.png");
Metadata.insertComments(fin, fout, Arrays.asList("Comment1", "Comment2"));上面的代码同样适用于常见的图像格式,如JPEG、TIFF、PNG、GIF等,只要这些格式支持某些元数据。
如果你想使用Exif,你可以使用:
Metadata.insertExif(InputStream fin, OutputStream fout, Exif exif, boolean upate);它还有一个参数"update“来控制是否要保留原始的Exif数据。有关如何创建Exif实例的详细信息,请参阅相同的示例。
https://stackoverflow.com/questions/40246867
复制相似问题