0°

ImageMagick批量压缩图片脚本

ImageMagick 包括一组命令行工具来操作图片。你大部份习惯每次编辑图片都提供图形用户接口 (GUI) 编辑图像就像GIMP和PhotoShop一样。

然而,一个图形用户接口不总是方便的。 假如你想要从一个网页动态地处理一个图像,或者你在不同时间生成一样的或不同的图像,想要对许多图像或重复特定应用相同的操作。

对于操作的这些类型,处理公用程序命令行工具是一个好的选择。

转换格式

例如把png格式图像转换为jpg格式:

$ convert source.png dest.jpg

你还可以指定压缩等级:

$ convert source.png -quality 95 dest.jpg

质量的等级范围1-100。

改变图像大小

例如要把图像改为200×100像素,执行:

$ convert example.png -resize 200×100 example1.png

上面命令不会改变图像的比例,所以转换后的图像不一定完全是200×100。如果要强制改变比例,使用如下命令:

$ convert example.png -resize 200×100! example1.png

也可以使用单独指定一个高或宽(保持比例),如:

$ convert example.png -resize 200 example1.png
$ convert example.png -resize x100 example1.png

旋转图像

$ convert abc.jpg -rotate 90 abc-rotated.jpg

添加效果

ImageMagick可以应用多用效果,例如:

$ convert abc.jpg -charcoal 2 abc-charcoal.jpg
$ convert abc.jpg -implode 1 abc-imploded.jpg

组合操作

上面的操作都可以放到一条命令中,例如:

$ convert abc.png -resize 400×400 -rotate 180 -charcoal 4 -quality 95 abc1.jpg

对多个图片进行处理

旋转当前目录的所有png图像。

for file in *.png; do convert $file -rotate 90 rotated-$file; done

批量压缩图片保持原有尺寸脚本

#!/bin/bash
echo "resize image who is bigger than 500k";
for i in `find . -size +500k`;
do
convert $i -quality 60 $i;
echo "resize image $i to 60";
done

添加执行权限

$ chmod +x resize.sh

在存放图片的目录下执行

$ ./resize.sh

脚本注解:在当前目录下查找大于500k的图片,压缩图片的等级范围为60。

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论