我正在使用Java的javax.imageio.ImageIO从我的FlashAir 32 am (第2代)中读取内容,并将它们写到本地硬盘上。我可以读取和保存文件,但我注意到硬盘中的文件比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。
发布于 2016-02-06 01:19:32
该代码不仅仅是复制(读取和保存)文件。它对图像进行解码,然后以默认的JPEG压缩速率重新编码它们(从JPEGImageWriteParam文档判断,这是0.75)。
如果要更改压缩级别,请查看this question。
如果您正试图准确地复制文件,则完全不要使用ImageIO。
https://stackoverflow.com/questions/35236123
复制相似问题