enjoy
代码: 全选
#!/bin/bash
#需要安装 imagemagick
pro=`echo ${0##*/}`
echo "输入GIF的尺寸, 使图片面积最小的长度或宽度为有效参数"
echo "所以, 为了保证效果, 请使用比例相近的图片"
echo "=================================="
echo "输入GIF的宽度(单位: pixels):"
read wid
#########
echo "输入GIF的长度(单位: pixels):"
read hig
#########
echo "输入GIF的名字:"
read nam_tem
nam="$nam_tem".gif
dnam="$nam_tem"_temtem
if [ -e "$nam" ]||[ -d "$dnam" ];then
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo "<< "$nam_tem" 已存在, 请更换文件名"
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
start-stop-daemon --oknodo -K -q -R 30 -n $pro
fi
########
echo "输入frames的间隔(单位: 0.01 second):"
read tim
echo "=================================="
###################################
num=0
for fil in *.jpg *.JPG ; do
((num+=1))
done
if [ "$num" > 20 ]; then
echo "图片过多, 是否继续?"
echo " 1 yes"
echo " 2 no "
read opt
fi
if [ "$opt" = no ]|| [ "$opt" = 2 ] || [ "$opt" = NO ]; then
start-stop-daemon --oknodo -K -q -R 30 -n $pro
fi
###################################
mkdir "$dnam"
for tem in *.jpg *.JPG ; do
convert $tem -quality 25% -geometry "$wid"x"$hig" "$dnam"/$tem
done
cd "$dnam"
########################
check=`ls`
emp=''
if [ "$check" = "$emp" ];then
echo "------------ error ------------"
start-stop-daemon --oknodo -K -q -R 30 -n $pro
fi
########################
all=" "
for name in *.jpg *.JPG ;do
all=$all" -page +0+0 "$name
done
echo "==============================="
echo " 请稍候"
echo "==============================="
convert -delay $tim $all -loop 0 $nam
mv $nam ..
cd ..
rm -fr "$dnam"
if [ -e "$nam" ];then
echo "++++++++++++++++++++++++++++++++"
echo "++ "$nam
echo "++++++++++++++++++++++++++++++++"
else
echo "------------error--------------"
fi