Java 如何在icafe中操作图像元数据

Java 如何在icafe中操作图像元数据,java,image,image-processing,metadata,icafe,Java,Image,Image Processing,Metadata,Icafe,我正在查看icafe库的示例,以了解如何操作图像元数据,但我找不到任何示例 我试图向exif元数据添加一个字段,如Description,并向该字段添加一些示例文本 此外,从我所发现的情况来看,我似乎无法判断icafe是否会在图像输入流上工作,或者它是否需要存储在磁盘上的文件的绝对路径?虽然wiki页面上没有示例,但实际上有一个详细的示例,可以在源代码包com.icafe4j.test中找到。该类的名称是,它向您展示了如何插入不同的元数据,如EXIF、IPTC、XMP、注释、缩略图等 ICAFE

我正在查看icafe库的示例,以了解如何操作图像元数据,但我找不到任何示例

我试图向exif元数据添加一个字段,如
Description
,并向该字段添加一些示例文本


此外,从我所发现的情况来看,我似乎无法判断icafe是否会在图像输入流上工作,或者它是否需要存储在磁盘上的文件的绝对路径?

虽然wiki页面上没有示例,但实际上有一个详细的示例,可以在源代码包com.icafe4j.test中找到。该类的名称是,它向您展示了如何插入不同的元数据,如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实例的详细信息可以从同一示例中找到。

尽管wiki页面上没有示例,但实际上有一个关于如何操作元数据的详细示例,可以在源代码包com.icafe4j.test中找到。该类的名称是,它向您展示了如何插入不同的元数据,如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的wiki页面中遗漏了与元数据操作相关的部分,因为另一个用户发送了一封电子邮件,询问了与此类似的问题。我刚刚意识到,我在icafe的wiki页面中遗漏了与元数据操作相关的部分发送了一封电子邮件,询问与此类似的问题。