我正在查看icafe库https://github.com/dragon66/icafe的示例,以了解如何操作图像元数据,但我找不到任何示例。
我正在尝试将字段添加到exif元数据,例如Description
,并将一些示例文本添加到该字段。
此外,根据我的发现,我似乎无法判断icafe是否可用于图像输入流,还是需要存储在磁盘上的文件的绝对路径?
答案 0 :(得分:0)
虽然维基页面上没有示例,但实际上有一个关于如何操作元数据的详细示例,可以在源代码包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实例的详细信息,请参阅同一示例。