Linux 图片批量压缩工具 ImageMagick

    最近做了一个游戏展示的界面,80多个游戏和它们的url,图标,上传服务器以后发现图标都较大,在客户端可以使用很多在线免费的压缩工具(美图秀秀),但是服务器一条命令就可以解决的问题,没必要去手动添加图片。

  • 下载ImageMagick

系统:CentOS

cmd:yum install ImageMagick -y

  • 使用

  通过正则查找当前目录下所有大于 50k 的图片,进行等比例50%的缩放;

find ./ -regex '.*\(jpg\|JPG\|png\|PNG\|jpeg\)' -size +50k -exec convert -resize 50%x50% {} {} \;

  通过正则查找当前目录下所有大于 50k 的图片,进行像素大小控制,convert 是会自动按照最大尺寸等比例进行缩小的;

find ./ -regex '.*\(jpg\|JPG\|png\|PNG\|jpeg\)' -size +50k -exec convert -resize 100x100 {} {} \;

  如果想降低图片的质量,可以用 convert 的 -quality 参数,质量值为 0-100 之间的数值,数字越大,质量越好,一般指定 70-80 ,基本上看不出前后的差别 

convert -resize 500x500 -quality 75 xxx.jpg xxx.png 

通过 crontab 进行定时图片压缩

举例:对 /www/images/ 文件夹下的所有图片每 5 分钟进行一次图片压缩处理;

在 /www/images/ 下新建 convert.sh 脚本,内容:

find /www/images/ -regex '.*\(jpg\|JPG\|png\|PNG\|jpeg\)' -size +50k -exec convert -resize 50%x50% {} {} \;

通过 crontab -e 在文件后添加:

*/5 * * * * /www/images/convert.sh

 -EOF-

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章