近日处理了一批照片,现在分享一下如何在mac平台进行图片批量处理。
处理的目标
- 尺寸压缩
- 文件大小压缩
准备
- brew up
- brew install imagemagick
- brew install jpegoptim
工具介绍
- imagemagick
修改图片尺寸, 使用示例:- 图片尺寸修改为原图的85%
convert -resize 85%x85% $img $img-resized;
- 限定宽度和高度
convert -resize 1024x800 $img $img-resized;
- 指定宽度,高度自适应
convert -resize 1024x $img $img-resized;
- jpegoptim
优化图片质量,减小图片所占硬盘空间,使用示例:- 优化图片所占硬盘空间 (直接修改原图)
jpegoptim --size=400 $img
- 优化图片所占硬盘空间 (直接修改原图)
** --size=400 尽量不影响图片质量,将文件压缩为400kb左右 **
--max=80 图片质量80%
批量处理脚本 (保存文件为photo.sh)
PHOTODIR=$1
PHOTOFORMAT=$2
IFS_OLD=$IFS # 先保存 IFS 变量
IFS=$'\n' # 将 IFS 改为换行符
if [ ! -d "$PHOTODIR"/new ]; then
mkdir "$PHOTODIR"/new
fi
cd $PHOTODIR;
for img in `find ./ -name "*.$PHOTOFORMAT"`; do
convert -resize 1200x $img new/$img;
jpegoptim --max=95 new/$img
done
IFS=IFS_OLD
** 可根据实际情况适当修改convert,jpegoptim命令的参数 **
使用
用法:sh photo.sh {图片目录位置} {图片后缀}
示例:sh photo.sh photo/成品 jpg
输出目录
photp/成品/new
效果:
一共72张照片,处理之前600M+,处理之后20M左右
以上的工具都有相应的php扩展,可以在项目中引入相关功能。