首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么用Java ImageIO读写JPEG会减少文件大小?

为什么用Java ImageIO读写JPEG会减少文件大小?
EN

Stack Overflow用户
提问于 2016-02-06 01:09:41
回答 1查看 753关注 0票数 1

我正在使用Java的javax.imageio.ImageIO从我的FlashAir 32 am (第2代)中读取内容,并将它们写到本地硬盘上。我可以读取和保存文件,但我注意到硬盘中的文件比SD卡中的原件小得多。知道为什么会发生这种事吗?这是我使用的代码:

代码语言:javascript
复制
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。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-06 01:19:32

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

如果要更改压缩级别,请查看this question

如果您正试图准确地复制文件,则完全不要使用ImageIO

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35236123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档