如何在不降低质量的情况下从图像(JPG)中删除元数据?

时间:2013-07-09 15:20:11

标签: java image metadata jpeg image-compression

我已经在Stackoverflow上找到了这个几乎相似的问题:

How can I remove metadata from a JPEG image in Java?

但是当我使用上述方法时,正在压缩保存的图像。有没有办法在不压缩图像的情况下删除元数据?我可以在Java程序中使用任何库吗?

1 个答案:

答案 0 :(得分:4)

好的,我终于通过使用Apache“commons-imaging”找到了解决方案:

https://svn.apache.org/repos/asf/commons/proper/imaging/trunk/src/test/java/org/apache/commons/imaging/examples/WriteExifMetadataExample.java

    public void removeExifMetadata(final File jpegImageFile, final File dst)
        throws IOException, ImageReadException, ImageWriteException {
    OutputStream os = null;
    try {
        os = new FileOutputStream(dst);
        os = new BufferedOutputStream(os);

        new ExifRewriter().removeExifMetadata(jpegImageFile, os);
    } finally {
        if (os != null) {
            try {
                os.close();
            } catch (final IOException e) {

            }
        }
    }
}