【问题标题】:How can I remove metadata from a JPEG image in Java?如何从 Java 中的 JPEG 图像中删除元数据?
【发布时间】:2019-09-18 12:32:16
【问题描述】:

我正在尝试从 .jpg 文件中删除元数据并将其替换为任何内容。谁能提供我如何做到这一点的示例?

【问题讨论】:

标签: java metadata jpeg


【解决方案1】:

读取图像时不会读取元数据。因此,只需将其读入并写回即可。

BufferedImage image = ImageIO.read(new File("image.jpg"));
ImageIO.write(image, "jpg", new File("image.jpg"));

【讨论】:

  • 这就是整个程序。只需将“image.jpg”替换为文件名即可。
  • 保持图像质量怎么样?
  • 哦,我完全忘记了有损压缩......这是一个很好的观点。也许这比乍一看要困难一些。我认为您可能会被困在以字节流形式读取图像并手动剥离元数据...
【解决方案2】:

阿帕奇ExifRewriter

读取 Jpeg 图像,删除所有 EXIF 元数据(通过删除 APP1 段),并将结果写入流。

FileInputStream is = new FileInputStream(new File("/path/to/photo.jpg"));
FileOutputStream os = new FileOutputStream(new File("/path/to/photo_without.jpg"))) 

new ExifRewriter().removeExifMetadata(is, os);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    • 1970-01-01
    • 2019-09-25
    相关资源
    最近更新 更多