今天在做一个项目时,碰到了需要在服务器批量压缩图片的情况
经过仔细查询,决定选用imagemagick在linux上处理这个问题
第一步,安装
# yum list imagemagick
第二步,
将图片文件里的所有png图片压缩到指定路径下
首先新建一个文件夹
批量缩放图片到指定尺寸的命令:
# mkdir image
# for img in `ls *.png` ; do convert -sample 25%x25% $img /image/$img ; done
感谢强大的imagemagick工具,一行命令搞定
可以只指定宽度或者高度等比缩放
例如只指定宽度等比缩放的命令:
# for img in `ls *.jpg` ; do convert -sample 200 $img thumb-$img ; done
或者只指定高度等比缩放:
# for img in `ls *.jpg` ; do convert -sample x200 $img thumb-$img ; done
为当前目录的所有图像生成缩略图
for img in `ls*.jpg` do convert -sample 25%x25% $img thumb-$img done
批量缩小根目录文件夹中的图片, 如果宽度大于900px就缩小,否则不动:
for img in `ls */*.jpg` ; do convert -resize "900 >" $img $img ; done
注: -resize 是缩小,-sample 是压缩
注意:为保险起见,压缩图片前可以先拷贝备份一下,安然再压缩就可以了: 例如
cp upload/* upload2/
网友评论