相关疑难解决方法(0)

如何从Java中删除JPEG图像中的元数据?

我正在尝试从.jpg文件中删除元数据并将其替换为空.任何人都可以提供一个如何做到这一点的例子吗?

java jpeg metadata

6
推荐指数
1
解决办法
4711
查看次数

如何在 Java 中从大图像中删除图像元数据而不导致内存不足

我需要从图像中删除元数据,但当图像太大时,我会遇到 OOM。现在我正在使用 ImageIO 来实现这一点。

BufferedImage image = ImageIO.read(new File("image.jpg"));
ImageIO.write(image, "jpg", new File("image.jpg"));
Run Code Online (Sandbox Code Playgroud)

问题是ImageIO.read(...)会将整个文件读入内存,当我处理太大的图像时,这会导致 OutOfMemory 。

我可以尝试使用 CommonsImaging ( https://commons.apache.org/proper/commons-imaging/sampleusage.html),但看起来它只支持 JPEG(ExifRewriter 类)。

更改虚拟机的内存配置不是一个选项,我需要支持的不仅仅是 JPEG 文件。

有什么想法可以在不导致内存不足的情况下做到这一点吗?

java

5
推荐指数
1
解决办法
2831
查看次数

标签 统计

java ×2

jpeg ×1

metadata ×1