convert制作GIF动画
$ convert -delay 0 *.jpg -loop 0 ani.gif
说明:
// 将当前目录下所有的bmp文件合成一个gif图片动画, 每帧间隔0ms, 重复播放。
// -delay n 迟延n*10毫秒
// -loop n 播放n轮, 0表示不断地重复播放
如果延迟40毫秒,则
convert -delay 40 *.jpg -loop 0 ani.gif
convert裁剪图片
例如某图片sample.jpg像素大小为 640 x 510,需裁剪为 640 x 480的thumb.jpg,命令如下:
convert -resize 640 x 480^ -gravity Center -crop 640x480+0+0 sample.jpg thumb.jpg
//gravity 表示中心坐标,可选值为 Center , NorthWest(左上), NorthEast(右上), SouthWest(左下), SouthEast(右下) ,
//由Center参数即由中心开始向两边裁剪,+指定x轴向y轴向的偏移量。
convert -resize 640 x 480^ -gravity Center -crop 640x480+0+10 sample.jpg thumb.jpg
//单边调整高度(像素)
批量生成缩略图的shell脚本
#!/bin/sh
find . -iname "b*.jpg" -type f | while read img ; do
new_img=$(basename $img) # 获得文件名
extname=${new_img##*.} # 提取扩展名
dir=$(dirname $new_img)
new_img=$dir/${new_img%.*}-thumb.$extname # save as b*-thumb.jpg
echo "Start converting $img ..."
convert -gravity Center -crop 640x480+0+10 $img $new_img
echo "finished"
done