a3尺寸大小,尺寸

何芸若

现在手机用户非常庞大,针对手机用户的流量不得不考虑,但手机网络带宽较小,怎么将互联网上的图片压缩是个难题,在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 300300 {} {} ;);  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 files basename  _basename=`basename $_imglower .bmp`;  #get files 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