Java 图片压缩的两种方式

匿名 (未验证) 提交于 2019-12-02 21:53:52

Java 图片压缩的两种方式

2. Graphics

Graphics类提供基本绘图方法,Graphics类提供基本的几何图形绘制方法,主要有:画线段、画矩形、画圆、画带颜色的图形、画椭圆、画圆弧、画多边形、画字符串等。 这里不做一一赘述, 进重点介绍一下,利用Graphics类如何进行压缩图像。不多说直接上代码。

其实,关键点就两处

BufferedImage buffImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); buffImg.getGraphics().drawImage(image.getScaledInstance(width, height, Image.SCALE_SMOOTH), 0, 0, null);

详细情形请查阅Graphics源代码。

第二种方案就是使用google thumbnailator jar包,主要是Thumbnails类, 大家可以去maven仓库里去下载。还是直接上代码,大家可以发现编码变得更加容易,而且宽高都是自适应的,另外Thumbnails还提供批量压缩方法,功能十分强大,效率也更高。

4. 效率测试

既然上述两种方式都可以压缩图片,那么哪一种效率更高呢?为此我特意做了一下实验,准备了74张图片进行压缩,ppi均为125

通过实验发现Graphics压缩74张图片大约需要3.409秒,而thumbnail仅需要0.943秒,当然试验时间与图片大小有关系。


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!