服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - Linux系统下批量压缩图片尺寸大小的方法

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

2019-11-27 19:19Linux教程网 Linux

怎么将互联网上的图片压缩在windows上容易,有很多软件,但在linux上难道就没有办法了吗?在本文将为大家分享个强大的免费图片工具 ImageMagick,感兴趣的朋友可以了解下

现在手机用户非常庞大,针对手机用户的流量不得不考虑,但手机网络带宽较小,怎么将互联网上的图片压缩是个难题,在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详解Linux系统下PXE服务器的部署过程

    详解Linux系统下PXE服务器的部署过程

    这篇文章主要介绍了Linux系统下PXE服务器的部署过程,包括对PXE的API架构作了一个基本的简介,需要的朋友可以参考下...

    运维之道9812019-07-04
  • LinuxLinux中环境变量配置的步骤详解

    Linux中环境变量配置的步骤详解

    Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的...

    Myths7882022-02-10
  • Linux确保Linux系统安全的前提条件 漏洞防护

    确保Linux系统安全的前提条件 漏洞防护

    Linux 作为开放式的操作系统受到很多程序员的喜爱,很多高级程序员都喜欢编写Linux操作系统的相关软件。这使得Linux操作系统有着丰富的软件支持,还有无...

    Linux之家2642020-04-11
  • Linuxlinux中rmdir命令使用详解(删除空目录)

    linux中rmdir命令使用详解(删除空目录)

    今天学习一下linux中命令: rmdir命令。rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的 ...

    linux命令大全5372019-11-19
  • LinuxLinux上设置用户通过SFTP访问目录的权限的方法

    Linux上设置用户通过SFTP访问目录的权限的方法

    这篇文章主要介绍了Linux上设置用户通过SFTP访问目录的权限的方法,SFTP可以理解为使用SSH协议进行FTP传输的协议,因而同时要对OpenSSH进行相关设置,需要的朋...

    OSChina10022019-06-19
  • LinuxLinux常用的日志文件和常用命令

    Linux常用的日志文件和常用命令

    成功地管理任何系统的关键之一,是要知道系统中正在发生什么事。 Linux 中提供了异常日志,并且日志的细节是可配置的。Linux 日志都以明文形式存储,所...

    Linux教程网2632020-04-18
  • Linux手把手教您在 Linux 上使用 GPG 加解密文件

    手把手教您在 Linux 上使用 GPG 加解密文件

    在本教程中,我将告诉你如何用 GPG 加密和解密文件。这是一个简单的教程,你可以在你的 Linux 系统上尝试所有的练习。这将帮助你练习 GPG 命令,并在你...

    Linux中国6962021-12-15
  • LinuxLinux lnmp下无法使用mail发邮件的两种解决方法

    Linux lnmp下无法使用mail发邮件的两种解决方法

    在配置了lnmp环境后,出现了mail函数不能发送邮件的问题,其实有两种方法,一是使用sendmail组件,而是使用postfix。下面为大家一一介绍下 ...

    Linux之家4042019-09-17