likes
comments
collection
share

图片压缩-开源还是商业软件

作者站长头像
站长
· 阅读数 6

图片压缩-开源还是商业软件

1. 背景

个人站性能优化提高首开率,同时要求文章能快速打开,因为一篇文章可能使用很多图片,因此图片压缩必不可少。

2. 初步筛选

谷歌搜索“图片压缩”,不少推荐这个软件:

tinify.cn/

图片压缩-开源还是商业软件

但是正式版价格太贵,39欧元的年费,折合人名币大约307元/年。

于是想到X宝,有专门搞软件破解的,价格实惠,不过这次比想象中的贵:

图片压缩-开源还是商业软件

一般商业软件20块左右基本能拿下,这个虽然比tinify便宜,但算下来也要100出头,而且是年费。

接着找开源,找到了:github.com/coobird/thu…

官网介绍主要是做缩略图,水印,但也能压缩图片,先试试吧。

3. 选型之路

3.1 试用thumbnailator

3.1.1 代码

引入maven依赖,本次尽量使用高版本,以解决已知bug:

        <dependency>
            <groupId>net.coobird</groupId>
            <artifactId>thumbnailator</artifactId>
            <version>0.4.20</version>
        </dependency>

网上拷贝代码改改:

public class CompressionUtil {
    public static void compress(String sourceFilePath, String outputFilePath) throws IOException {
        BufferedImage sourceImage = ImageIO.read(new FileInputStream(sourceFilePath));
        Thumbnails.of(sourceImage).size(sourceImage.getWidth(), sourceImage.getHeight()).keepAspectRatio(false)
                .outputFormat(getExtensionName(sourceFilePath)).toFile(outputFilePath);
    }

    private static String getExtensionName(String filePath) {
        int length = filePath.length();
        return filePath.substring(length - 3, length);
    }
}

3.1.2 压缩结果对比

图片压缩-开源还是商业软件

可以看到,不少图片压缩比接近50%,还有一部分压缩比较低,但还有越压越大的,虽然在网上也看到过文件会越压越大,本指望最新版本能解决,看到这个结果还是有点惊讶。

文件越压越大的分析:www.51cto.com/article/753…

我相信尝试各种方法做优化,调整参数,结果可能会好些,不过没有官方指导,要适配各种场景都能得到一个较好的结果,难度可能有点大,而且大概率也会很耗时,暂时挂起,看看其他软件的表现。

3.2 试用X宝tinypng

此X宝商家贴了tinify的熊猫吃竹子图片做宣传,特意问了是不是tinify正版,回复集成了tinify,就先当是正版吧。

图片压缩-开源还是商业软件

试用版有一天使用期,工具使用比较简单,可以指定压缩文件目录,拖动图片目录到指定区域则可:

图片压缩-开源还是商业软件

压缩结果对比:

图片压缩-开源还是商业软件

看起来压缩比更高,很多远超50%,也没有出现越压越大的现象,再比较下和开源工具thumbnailator的压缩结果:

图片压缩-开源还是商业软件

多数图片的压缩比都高于开源工具thumbnailator,只有一个低于它。

目前大致觉得该软件还是有点靠谱,此时想起来如果图片加水印后会有啥影响:

图片压缩-开源还是商业软件

从结果看,加水印居然还能自动压缩,保险起见,先加水印,再用X宝工具压缩:

图片压缩-开源还是商业软件

可见虽然加水印起到了压缩作用,工具还能进一步压缩。

本来X宝工具基本可以作为备选,不过在这次压水印图片过程中,最后两张图片等了很长时间没有结果,以致我以为出错了,因为操作界面就提到有失败率。

不希望今后要去挑失败的图片重压,所以我又试了tinify。

3.3 试用tinify

年费307.52,对于当下月入2280.22的我来说着实是一笔庞大开销,不过要实现个人站性能优化目标,图片压缩绕不过去,X宝工具那个长时间停顿有点不放心(虽然等我买完tinify,写此文时最后两张图片也出结果了)。

图片压缩-开源还是商业软件

收费的pro版界面:

图片压缩-开源还是商业软件

压缩后的文件和X宝工具对比:

图片压缩-开源还是商业软件

可以看到压缩比进一步提升。

3.4 效果对比

找两组图片比较一下。

3.4.1 第一组

组件局部注册后.png

压缩工具大小
源图78.4 KB
tinify23.3 KB
X宝工具54.7 KB
thumbnailator65.3 KB

● 源图

图片压缩-开源还是商业软件

● tinify

图片压缩-开源还是商业软件

● X宝工具

图片压缩-开源还是商业软件

● thumbnailator

图片压缩-开源还是商业软件

3.4.2 第二组

全局注册时延.png

压缩工具大小
源图61.6 KB
tinify16.7 KB
X宝工具40.3 KB
thumbnailator31.7 KB

● 源图

图片压缩-开源还是商业软件

● tinify

图片压缩-开源还是商业软件

● X宝工具

图片压缩-开源还是商业软件

● thumbnailator

图片压缩-开源还是商业软件

4. 总结

● thumbnailator

本次试用后排除,其存在的压缩后文件变大问题,未必一定不能优化,只是不想耗费过多精力在上面,主要是官方并没有看到明确指导,而且默认压缩比也不是最优。

● X宝工具

实际还可以继续深度评估,毕竟比tinify便宜接近2/3,虽然本次验证压缩比没有tinify高,压缩质量也不突出,但界面上还有不少参数可调整,未必就不能有好结果。(试用版不能选择参数,不知道是否隔日导致,未超过24小时)

如果第2次压缩过程中间没有长时间等待导致误以为出错,很有可能就选它了,这也说明产品设计很重要,要让客户明确知道程序在正常运行。

● tinify

尚没有频繁操作,目前的体验还可以,有限操作过程中没有发现明显问题,默认压缩比也高,压缩图片清晰度可接受,且年费已付,先用起来吧。

注:本文不构成最终选型建议,不同的应用场景如自媒体,对图片质量的要求也不同,即使同是个人站,要求也可能不同。


其他阅读: