Linux系统下批量压缩图片尺寸大小的方法
经过多次的寻找,还是找到了些方法,这里分享下:
一个比较好用命令行下可以使用的 强大的免费图片工具 ImageMagick
Centos系统的安装使用方法:
yum install ImageMagick
再输入y确认即可安装完成
接下来调用 系统命令
复制代码
#include <stdio.h>
int main()
{
printf(“Please install ImageMagick before run this programme ,else it will not run correctlyn”);
system(“mkdir small”);
system(“cp *.jpg ./small”);
system(“find ./small -name ‘*.jpg’ -exec convert -resize 300×300 {} {} \;”);
system(“pwd”);
system(“rename .jpg _small.jpg small/*.jpg”);
printf(“nConvert pictures finished,plesae check itn”);
return 0;
}
其中上面 convert 中的 resize 参数可以修改imagemagick,它可以对图片进行格式转换、大小压缩、增加水印等操作,而不需要去写第三方的程序,只需要写简单的SHELL脚本就可以完成图片压缩操作,接下来UBUNTU上介绍下:
安装命令:
sudo apt-get install imagemagick
其它linux有对应的软件安装命令,以下有我写的两个脚本,分别对图片进行批量格式以及压缩操作:
图片格式转换,这里的示例是将[bB][mM][pP](所有BMP文件)格式的文件,转换为占空间小的jpg文件:
复制代码
#!/bin/sh
for img in `find ./ -name “*.[bB][mM][pP]“`; do
#change upper filename to lower
_imglower=`echo $img|tr “[:upper:]” “[:lower:]“`;
#get file’s basename
_basename=`basename $_imglower .bmp`;
#get file’s dir
_dirname=`dirname $img`;
#get desc filename with path
_basefullname=$_dirname”/”$_basename”.jpg”;
#do convert
convert $img $_basefullname;
#remove bmp file
rm $img;
echo “deal $_basefullname successfully”;
done
图片压缩脚本:
复制代码
for img in `find ./ -name “*.[jJ][pP][gG]“`; do
convert -resize 85%*85% $img $img-resized;
rm $img;
mv $img-resized $img
echo $img
done
for img in `find ./ -name “*.[pP][nN][gG]“`; do
convert -resize 85%*85% $img $img-resized;
rm $img;
mv $img-resized $img
echo $img
done
for img in `find ./ -name “*.[gG][iI][fF]“`; do
convert -resize 85%*85% $img $img-resized;
rm $img;
mv $img-resized $img
echo $img
done
- 批量删除行word
- cad等距批量偏移怎么实现? cad批量便宜图形的方法
- maya渲染序列帧是压缩包该怎么办?
- 压缩面膜纸排名,无印良品压缩面膜纸、屈臣氏牌DIY压缩面膜很安全
- HP Designjet HD Pro Scanner使用批量扫描的教程
- Linux怎么使用压缩和解压到指定目录的命令?
- 开启gzip和deflate压缩 让网站打开速度更快技巧
- Linux下压缩和优化jpg与png图片的方法
- Linux中怎么在Deepin同时解压多个压缩档案
- Linux中rz命令使用实例分享(批量上传文件、简单易用)
- 让gzip压缩速度加快的解决方案:使用支持多核CPU多线程并发压缩的pigz
- linux系统中的批量删除文件与空文件删除的命令介绍