您当前的位置: 首页 > 网络技术  > 服务器教程 浏览
linux系统下怎么压缩图片
发布时间:2015-12-11    点击率:次    来源:www.sytcke.com    作者:电脑技术学习网

 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文件:

[c-sharp] view plaincopy

#!/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

图片压缩脚本:

[c-sharp] view plaincopy

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

来源 电脑技术网 www.sytcke.com
发表留言
发表留言请先登录!
免责声明:本站发布的信息和评论纯属网民个人行为,并不代表本站立场,如发现有违法信息或侵权行为,请直接与本站管理员联系,我们将在收到您的信息后24小时内作出处理!