手机
当前位置:查字典教程网 >操作系统 >unix linux >Linux系统下批量压缩图片尺寸大小的方法
Linux系统下批量压缩图片尺寸大小的方法
摘要:现在手机用户非常庞大,针对手机用户的流量不得不考虑,但手机网络带宽较小,怎么将互联网上的图片压缩是个难题,在windows上容易,有很多软件...

现在手机用户非常庞大,针对手机用户的流量不得不考虑,但手机网络带宽较小,怎么将互联网上的图片压缩是个难题,在windows上容易,有很多软件,但在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

【Linux系统下批量压缩图片尺寸大小的方法】相关文章:

Linux操作系统添加新硬盘方法

linux下设定环境变量的方法介绍

Linux操作系统中的七件超厉害的武器

Linux下查看硬件信息的方法

修改Linux主机名的方法

Linux下取得UUID的方法分享

Linux下挂载硬盘分区的几种方法

linux修改系统时间的详细方法介绍

Linux操作系统中BSD套接口开发的基础介绍

新技巧:Linux系统常见6种紧急情况处理方法

精品推荐
分类导航