欢迎来到山村网

Linux系统下批量压缩图片尺寸大小的方法

2019-03-09 08:45:01浏览:422 来源:山村网   
核心摘要:  现在手机用户非常庞大,针对手机用户的流量不得不考虑,但手机网络带宽较小,怎么将互联网上的图片压缩是个难题,在windows

  现在手机用户非常庞大,针对手机用户的流量不得不考虑,但手机网络带宽较小,怎么将互联网上的图片压缩是个难题,在windows上容易,有很多软件,但在linux上有没有办法呢?

  经过多次的寻找,还是找到了些方法,这里分享下:

  一个比较好用命令行下可以使用的 强大的免费图片工具 ImageMagick

  Centos系统的安装使用方法:

  yum install ImageMagick

  再输入y确认即可安装完成

  接下来调用 系统命令

  代码如下:

  #include

  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

(责任编辑:豆豆)
下一篇:

路由器的防火墙怎么关闭

上一篇:

hadoop中的pi值计算

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com