Linux上对图片进行压缩

    这里要使用到强大的图片处理工具:imagemagick,它可以对图片进行格式转换、大小压缩、增加水印等操作,而不需要去写第三方的程序,只需要写简单的SHELL脚本就可以完成图片压缩操作,我的操作环境是UBUNTU,在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,shell,脚本,File,ubuntu,Path)