往日微忆
文章目录

除了纯文字网站(现在估计很少见),网站不可能不包含图片。为了追求加载速度,众多站长都会选择压缩图片,顺便减少流量。之前,我不太留意图片的问题,想着图片尽量高清,一张原图动不动好几M,在本地浏览,或许看不出区别,但如果VPS在国外,延时较长,浏览器就会老半天加载不出来,用户体验肯定不好。再加上VPS都有流量限制,那可是要花银子的,所以压缩图片又尽量不减少图片质量,在所难免。

本文主要记录在 Linux 上的图片压缩过程,Windows 上的工具一大把,读者自行解决。(发现自己越来越习惯和喜欢在Linux下工作、学习和娱乐了!)

本地压缩

手机、相机等设备拍下来的原图动不动好几M,分辨率都是在几千X几千以上,所以第一步就是得用本地上的工具改变图片大小,压缩图片尺寸。 Linux 上我们可以用 convert 命令, convert 命令功能十分之强大,可以在命令行方式 下转换图像格式、改变图像大小、旋转图像等,还可以在图像上添加方字,具体详细使用方法,请自行搜索,此处仅列一篇(http://zlb1986.iteye.com/blog/778054)。本文只记录用 convert 命令批处理修改图像大小。

假设有16张原图,放在“1”文件夹下,同时还有“2”、“3”文件夹。“1”文件夹下原图列表如下:

原图

运行 convert 批处理命令改变图像大小,假设图像大小缩小为1000X1000(会自动按原图宽高比例缩小),改变大小后放在“3”文件夹下:

  1. for i in $(ls *.jpg) ; do convert $i -resize 1000X1000 "../3/$i"; done

运行后,“3”文件夹下图像列表如下:

convert 命令改变图像大小后

可以看出图像明显变小了。

上面这一步只是因为改变了图像分辨率而使图像变小,如果不改变分辨率,我们还可以运行 jpegoptim 命令(需要安装 apt-get install jpegoptim ),用法:

  1. jpegoptim -m%d -d Path filename.jpeg

%d为压缩比率,0-100之间整数,数字越大,质量越高。jpegoptim虽能压缩图像大小,但比较有限,不如改变分辨率来得明显,且不如 convert 命令来得方便,能不用 jpegoptim 就不用吧。

在线压缩

在线压缩图片,只推荐 TinyPNG ,超级好用,可以批处理,只是单张图片最大支持5M,不过足够用了。其他在线压缩图片网站,不是收费,就是体验性不好。

上述图片通过 TinyPNG 压缩:

TinyPNG 在线压缩

下载压缩文件包,解压到“2”文件夹,列表如下:

TinyPNG 压缩后大小

可以看出,从最初的总共 70M 图片大小,压缩到了现在 2M ,压缩比为 35:1 。对于在线浏览图片,足够满足要求。