Linux中imagemagick图片批量压缩例子

 代码如下 复制代码
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

方法2 :
 
首先要安装一个imagemagick,执行

 代码如下 复制代码
$sudo apt-get install imagemagick

命令总体,其实就是查询目录下所有的文件,然后执行相关的命令,我之前有一个博文讲的是批量重命名文件的,命令格式差不多
可以参考一下:
方法一:
   

 代码如下 复制代码
for file in *.JPG; do mv $file `echo $file | sed -e s/[.]JPG/.jpg/g`; done

    扩展名是.JPG的命名为小写的jpg扩展名

方法二:
   

 代码如下 复制代码
for filename in *.JPG ; do mv $filename ${filename/JPG/jpg}; done

    这是另外一种替换

方法三:
  

 代码如下 复制代码
  for file in *; do mv $file `echo $file | awk -F . '{print $1"."tolower($2)}' `; done

    这种能够实现同时修改多种扩展名,不过只能支持 文件名包含多个(.)的情况

 代码如下 复制代码

$for img in `find ./ -name "*.JPG"`; do convert -quality 70 $img ${img/JPG/jpg}; done

一句话搞定,把图片的质量压缩到原来的70%的程度,画质在电脑上看基本不会有差异,用来批量压缩图片,上传图片到网上最方便了。

convert 是imagemagick软件包中的一部分,-quality表示压缩质量。
$img是原文件名,把原文件名的扩展名改为小写作为压缩后的文件名(${img/JPG/jpg})

时间: 2024-10-23 19:37:47

Linux中imagemagick图片批量压缩例子的相关文章

linux中MagickImage图片处理,为什么在图片不完整时会自动跳出程序

问题描述 linux中MagickImage图片处理,为什么在图片不完整时会自动跳出程序?程序如下:ImageInfoinfo=null;try{info=newImageInfo(srcFileName);//srcFileName图片路径MagickImageimage=newMagickImage(info);//这段如果图片不完整或损坏,直接跳出程序(tomcat就死掉),无法捕获异常.....}catch(MagickExceptionme){me.printStackTrace();

Linux中关于tar分卷压缩和合并的使用

Linux中关于tar分卷压缩和合并的使用? 以每卷500M为例tar分卷压缩:tar cvzpf - somedir | split -d -b 500m (-d不是split的选项,是shell的选项,表示将tar命令的输出作为split的输入)tar多卷合并:cat x* > mytarfile.tar.gz

光影魔术手使用之图片批量压缩教程

很多时候我们都要对图片进行批量压缩,而批量压缩比较好的专业的工具当然是PS了.但多数情况仅是图片压缩和尺寸调整的话我们完全可以用其它第三方软件来快捷方便的完成. 1.下载安装并打开光影魔术手软件: 2.点击左上角的"文件"菜单,再选择'批处理'命令.在打开的'批量自动处理'对话框中'+增加'按钮: 3.在打开的"打开"对话框中找到要压缩的图片,并单击"打开"按钮即可增加图片: 4.再切换到'自动处理'选项卡,会出现的部分默认的图片处理选项.选中相

图片批量压缩大小脚本分享_linux shell

压缩图片时用的一个脚本,先安装下#ImageMagick# 复制代码 代码如下: #!/bin/bash # yum install ImageMagick # cd /img/dir for file in */*.jpg; do to_middle_file="${file%.*}_m.${file##*.}"; //文件名加后缀 如 hello_m.jpg to_small_file="${file%.*}_s.${file##*.}"; convert ${

linux中tinypng图片压缩的例子

多的一般是图片,图片的压缩比越大 ,访问页面速度会越快.wordpress下有相关的如WP Smush.it可以用于图片压缩,不过对于压缩比例和保真层度来看,不如tinypng .其对wordpress也提供了相应的插件,不过免费版每个邮箱用户每月只提供五百个请求的压缩.这里结合其官方API ,做了一个shell版本的小工具,另外根据之前的php上传及tinypng的php API也写了一个web版的工具. 一.shell 版本 通过CURL请求,直接执行请求API URL时: [root@36

如何在Linux中使用gThumb批量调整图片大小

如果你的工作涉及到图片编辑和处理,就一定会有同时对多张图片进行批量大小调整的经历.虽然大多数图片编辑应用都能够非常容易地批量调整多张图片,但对于新手用户来说,总是不太容易轻松找到并使用相关功能,因此本文将向大家介绍如何在 Linux 桌面系统中使用 gThumb 软件来批量调整图片大小. 注意:以下内容都基于 Ubuntu 16.04 操作系统中的 gThumb 3.4.3 版本. 由于主要步骤都以 gThumb 为中心,所以请先确保你在系统中已经安装了该应用.如果没有,可以自行在 Ubuntu

Linux中ImageMagick实现修图、缩放、编辑、转换格式

ImageMagick能够执行相当多的操作.本指南将会指引你学习ImageMagick的语法和基本操作,并且给你展示如何将各个操作结合起来以及如何对多个图像进行批处理. 安装在Ubuntu以及很多Linux发行版中,没有默认安装ImageMagick,要在Ubuntu上安装它的话,请使用下面的命令:  代码如下 复制代码 sudo apt-get install imagemagick 转换图像的格式转换命令对一幅图像执行某项操作,并将其以你指定的名字保存.你能使用它完成的一个最基本的事情是转换

linux中ImageMagick与PHP的imagick扩展安装使用

ImageMagick介绍: ImageMagick是一套功能强大.稳定而且开源的工具集和开发包,可以用来读.写和处理超过89种基本格式的图片文件,包括流行的TIFF.JPEG.GIF. PNG.PDF以及PhotoCD等格式.利用ImageMagick,你可以根据web应用程序的需要动态生成图片, 还可以对一个(或一组)图片进行改变大小.旋转.锐化.减色或增加特效等操作,并将操作的结果以相同格式或其它格式保存,对图片的操作,即可以通过命令行进行,也可以用C/C++.Perl.Java.PHP.

linux中ssh公钥认证配置例子

在两台linux主机上由于环境的需要,经常要配置两台主机之间免密码登录,这就要用到key认证,也就是所谓的公私钥认证.便于理解,我这里指定两台主机为 A 和 B .如果A主机想免密码登录到B主机上,则A主机上存放私钥,B 主机上存放公钥.通过ssh-keygen 命令生成的两个文件为:公钥文件 ~/.ssh/id_rsa.pub: 私钥文件 ~/.ssh/id_rsa .而B主机上存放公钥时,需要将id_rsa.pub的内容存放到~/.ssh/authorized_keys 文件内,并且保证权限