我想写IPTC数据,如标题,描述或关键字到一个jpg文件,但它不工作。如果我运行示例代码,则会写入第二个jpg文件,但没有示例数据。我使用的是Apache的commons映像库:http://commons.apache.org/proper/commons-imaging/。
以下是示例代码:
TiffImageMetadata metadata = ((JpegImageMetadata)Imaging.getMetadata(new File(JPG_PATH +
"\\IMGP5996_empty.jpg"))).getExif();
ExifRewriter rewriter = new ExifRewriter();
TiffOutputSet outputSet = metadata.getOutputSet();
TiffOutputDirectory exif = outputSet.getOrCreateExifDirectory();
exif.add(MicrosoftTagConstants.EXIF_TAG_XPAUTHOR, "TEST_AUTHOR");
exif.add(MicrosoftTagConstants.EXIF_TAG_XPCOMMENT, "TEST_COMMENT");
exif.add(MicrosoftTagConstants.EXIF_TAG_XPSUBJECT, "TEST_SUBJECT");
exif.add(MicrosoftTagConstants.EXIF_TAG_XPTITLE, "TEST_TITLE");
exif.add(MicrosoftTagConstants.EXIF_TAG_XPKEYWORDS, "TEST_KEYWORD");
FileOutputStream fos=new FileOutputStream(new File(JPG_PATH + "\\IMGP5996_empty-2.jpg"));
rewriter.updateExifMetadataLossy(jpgFile, fos, outputSet);有谁可以帮我?
发布于 2014-10-02 02:31:45
我认为目前还不可能将IPTC元数据(使用commons映像)写入到jpg文件中:http://commons.apache.org/proper/commons-imaging/todo.html
发布于 2014-10-07 07:41:03
这将是直接的,但不是微不足道的,这是您自己完成的。您将需要重写EXIF APPn市场,但这可以在不修改压缩数据流的其余部分的情况下关闭。您需要阅读EXIF标准才能理解元数据标记是如何编码的。
发布于 2014-10-24 17:33:10
感谢所有人的回复,我找到了一个iim4j的解决方案:http://iim4j.sourceforge.net/
库很好,但文档记录很差
https://stackoverflow.com/questions/26147907
复制相似问题