当前位置: 代码迷 >> Java Web开发 >> 几种输出流输出图片的大小不同解决思路
  详细解决方案

几种输出流输出图片的大小不同解决思路

热度:34   发布时间:2016-04-14 20:58:32.0
几种输出流输出图片的大小不同
byte[] bytes = fileApi.readFile(filename);
OutputStream os = response.getOutputStream();
 filenameTail 是后缀名  类似   .jpg
bytes是读取的文件字节,区别在于下面两种方法读图片:
1、
            ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
            BufferedImage bi = ImageIO.read(bis);
            ImageIO.write(bi, filenameTail.substring(1), os);
 2、     
            os.write(bytes);
第一种方法取出的图片只有几十kb,尺寸不变,清晰度不变,第二种方法取得图片是原来的图完全相同,原来的图有600多kb,
请问区别在哪?

            
------解决思路----------------------
引用:
在第一种方法的基础上加上等比压缩则有一点点失真,有没有什么办法缩小尺寸和大小,清晰度不变?

缩小尺寸的意思,就是几个像素合并为1个像素,怎么会清晰度不变呢。
  相关解决方案