How to manipulate image metadata in icafe(如何在ICAFE中操作图像元数据)
问题描述
我正在查看ICAFE库https://github.com/dragon66/icafe的示例,以了解如何操作图像元数据,但我找不到任何示例。
我正在尝试向EXIF元数据添加一个字段,如Description
,并向该字段添加一些示例文本。
另外,从我发现的情况看,我似乎无法判断ICAFE是否可以处理图像输入流,或者它是否需要存储在磁盘上的文件的绝对路径?
推荐答案
虽然维基页面上没有示例,但实际上在源码包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实例的详细信息,请参阅同一示例。
这篇关于如何在ICAFE中操作图像元数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在ICAFE中操作图像元数据
基础教程推荐
- 在螺旋中写一个字符串 2022-01-01
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01