系统之家 - Windows操作系统&装机软件下载网站!

当前位置: 首页  >  教程资讯  >  电脑教程 Linux系统下批量压缩图片尺寸大小的方法

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

时间:2023-06-02 16:16:41 来源: 人气:

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

作者

教程资讯

电脑教程排行

系统教程

系统主题