gpt4 book ai didi

java - 为什么使用 Java ImageIO 读写 JPEG 会减小文件大小?

转载 作者:行者123 更新时间:2023-11-29 07:36:26 24 4
gpt4 key购买 nike

我正在使用 Java 的 javax.imageio.ImageIO从我的 FlashAir 32Gb(第二代)读取内容并将它们写入我的本地硬盘。我可以读取和保存文件,但我注意到硬盘中的文件比 SD 卡中的原始文件小得多。为什么会发生这种情况的任何想法?这是我使用的代码:

URL imageURL = new URL("http://192.168.0.1/DCIM/100__TSB/IMG_0001.JPG");
File dest = new File("/home/me/Pictures/FlashAir/IMG_0001.JPG");
BufferedImage image = ImageIO.read(imageURL);
ImageIO.write(image, "JPG", dest);

保存到本地硬盘的图片没有问题,但只有原来的1/3左右。

最佳答案

该代码不仅仅是复制(读取和保存)文件。它解码图像,然后以默认的 JPEG 压缩率(根据 JPEGImageWriteParam 文档判断为 0.75)对其重新编码。

如果您想更改压缩级别,请查看 this question .

如果你想准确地复制文件,根本不要使用 ImageIO

关于java - 为什么使用 Java ImageIO 读写 JPEG 会减小文件大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35236123/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com