1.系统上线一段时间后,服务器图片目录上传了13G多的图片,而且图片很大一张张的,因此需要把图片进行压缩
2.百度各种压缩方案,发现 Linux 上 ImageMagick 软件很好,C语言开发的,可以压缩、裁剪、加水印,功能太多了,自己去官网看吧,且已在GitHub上开源
3.开源地址:https://github.com/ImageMagick/ImageMagick
4.先看看压缩效果,这个目录有7.3G大小的图片,压缩后为 1.6G,这样可以大大提升网站的访问速度
5.安装ImageMagick(网上太多安装教程,很坑)
1.先安装依赖库
yum install -y libjpeg* libpng* libtiff* libungif* freetype zlib
2.下载ImageMagick
wget http://www.imagemagick.org/download/ImageMagick-7.0.10-10.tar.gz
3.解压
tar -xvzf ImageMagick-7.0.10-10.tar.gz
4.进入解压目录,检查配置
./configure
5.编译与安装
make
make install
6.上传一张图片测试转换为png格式
convert 1.jpg 1.png
7.检查支持的格式
identify -list format
6.在某个目录执行批量压缩命令:
- du -sh :查看目录大小
- 压缩:find ./ -regex ‘.*(jpg|JPG|png|jpeg)’ -size +300k -exec convert -resize 50%x50% -quality 70 {} {} ;
- du -sh :再次查看大小
- 压缩命令解释:正则表达式查找 当前目录所有大于 300K的 jpg,png,jpeg图片,使用 convert 把图片的宽高转换 50%,且图片质量压缩为 70%
ImageMagick CSDN下载地址:https://download.csdn.net/download/zhuyu19911016520/12408864
它有很多功能,请看GitHub上的说明或官网的示例:https://imagemagick.org/script/convert.php