Linux上对图片进行压缩

本文介绍如何利用Imagemagick这一强大工具在Linux环境下通过Shell脚本实现图片格式转换及压缩。具体包括安装Imagemagick的方法、转换BMP格式文件为JPG格式的脚本示例以及对JPG、PNG、GIF格式图片进行批量压缩的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://blog.youkuaiyun.com/fenglibing/article/details/6261623


这里要使用到强大的图片处理工具:imagemagick,它可以对图片进行格式转换、大小压缩、增加水印等操作,而不需要去写第三方的程序,只需要写简单的SHELL脚本就可以完成图片压缩操作,我的操作环境是UBUNTU,在UBUNTU下面安装这个软件超级简单:

    sudo apt-get install imagemagick

 

    其它linux有对应的软件安装命令,以下有我写的两个脚本,分别对图片进行批量格式以及压缩操作:

    图片格式转换,这里的示例是将[bB][mM][pP](所有BMP文件)格式的文件,转换为占空间小的jpg文件:

    

[c-sharp]  view plain copy
  1. #!/bin/sh  
  2. for img in `find ./ -name "*.[bB][mM][pP]"`; do  
  3.         #change upper filename to lower  
  4.         _imglower=`echo $img|tr "[:upper:]" "[:lower:]"`;  
  5.         #get file's basename  
  6.         _basename=`basename $_imglower .bmp`;  
  7.         #get file's dir  
  8.         _dirname=`dirname $img`;  
  9.         #get desc filename with path  
  10.         _basefullname=$_dirname"/"$_basename".jpg";  
  11.         #do convert  
  12.         convert $img $_basefullname;  
  13.         #remove bmp file  
  14.         rm $img;  
  15.         echo "deal $_basefullname successfully";  
  16. done  
 

    图片压缩脚本:

    

[c-sharp]  view plain copy
  1. for img in `find ./ -name "*.[jJ][pP][gG]"`; do  
  2.                 convert -resize 85%*85% $img $img-resized;  
  3.                 rm $img;  
  4.                 mv $img-resized $img  
  5.                 echo $img  
  6. done  
  7. for img in `find ./ -name "*.[pP][nN][gG]"`; do  
  8.                 convert -resize 85%*85% $img $img-resized;  
  9.                 rm $img;  
  10.                 mv $img-resized $img  
  11.                 echo $img  
  12. done  
  13. for img in `find ./ -name "*.[gG][iI][fF]"`; do  
  14.                 convert -resize 85%*85% $img $img-resized;  
  15.                 rm $img;  
  16.                 mv $img-resized $img  
  17.                 echo $img  
  18. done  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值