• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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
    上一篇:Linux find 强大的文件查找工具
    下一篇:PHP time_nanosleep() 函数使用介绍
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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