服务器之家

服务器之家 > 正文

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

时间:2019-11-27 19:19     来源/作者:Linux教程网

现在手机用户非常庞大,针对手机用户的流量不得不考虑,但手机网络带宽较小,怎么将互联网上的图片压缩是个难题,在windows上容易,有很多软件,但在linux上有没有办法呢? 
经过多次的寻找,还是找到了些方法,这里分享下: 

一个比较好用命令行下可以使用的 强大的免费图片工具 ImageMagick 

Centos系统的安装使用方法: 
yum install ImageMagick 

再输入y确认即可安装完成 

接下来调用 系统命令 

复制代码

代码如下:


#include <stdio.h> 
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 

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部