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

现在手机用户非常庞大,针对手机用户的流量不得不考虑,但手机网络带宽较小,怎么将互联网上的图片压缩是个难题,在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 
声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Linux find 强大的文件查找工具

2023-6-6 3:04:05

建站知识

小知识:PHP time_nanosleep() 函数使用介绍

2023-6-6 3:20:35

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索