最新消息:七维网络改版啦,域名www.7dwww.com

linux下对批量压缩图片尺寸

网络技术 sevennet 2493浏览

对图片尺寸进行压缩要用到命令:

convert -resize

那么我们首先要安装ImageMagick,如果已经安装的省略此步

yum install ImageMagick -y

convert命令格式:

-resize widthxheight{%} {@} {!} {<} {>} {^}

 

1、按最大宽度进行压缩,例如把所有宽度大于800的JPG图片等比压缩到宽度800

find . -iname ‘*.jpg’ | -exec convert -resize “800x>” {} {} ;

2、按最大高度进行压缩,例如把所有高度大于800的JPG图片等比压缩到高度800

find . -iname ‘*.jpg’ | -exec convert -resize “x800>” {} {} ;

3、限定最大高度和最大宽度,等比压缩

find . -iname ‘*.jpg’ | -exec convert -resize “800×800” {} {} ;

4、压缩到指定高度宽度,强制不按比例

find . -iname ‘*.jpg’ | -exec convert -resize “800×800!” {} {} ;

5、按百分比压缩

find . -iname ‘*.jpg’ | -exec convert -resize “50%x50%” {} {} ;

 

6使用 @ 来制定图片的像素个数。

如:convert -resize “10000@” src.jpg dst.jpg

此命令执行后,dst.jpg图片大小为(115×86),图片保持原有比例(115×86= 9080 < 10000)。

7.当原始文件大于指定的宽高时,才进行图片放大缩小,可使用>命令后缀。

如:convert -resize “100×50>” src.jpg dst.jpg

此命令执行后,dst.jpg图片大小为(67×50),图片保持原有比例。

如:convert -resize “100×50>!” src.jpg dst.jpg

此命令执行后,dst.jpg图片大小为(100×50),图片不保持原有比例。

8.当原始文件小于指定的宽高时,才进行图片放大转换,可使用<命令后缀。

如:convert -resize “100×500<” src.jpg dst.jpg 或者convert -resize “100×100<!” src.jpg dst.jpg

此命令执行后,dst.jpg和src.jpg大小相同,因为原始图片宽比100大。

如:convert -resize “600×600<” src.jpg dst.jpg

此命令执行后,dst.jpg图片大小为(600×450),图片保持原有比例。

如:convert -resize “600×600<!” src.jpg dst.jpg

此命令执行后,dst.jpg图片大小为(600×600),图片不保持原有比例。

9.使用^命令后缀可以使用宽高中较小的那个值作为尺寸

如:convert -resize “300×300^” src.jpg dst.jpg

此命令执行后,dst.jpg图片大小为(400×300),图片保持原有比例,(300:300 < 200:150,选择高作为最小尺寸)。

如:convert -resize “300×200^” src.jpg dst.jpg

此命令执行后,dst.jpg图片大小为(300×225),图片保持原有比例,(300:200 > 200:150,选择宽作为最小尺寸)。

 

convert命令可以用来转换图像的格式,支持JPG, BMP, PCX, GIF, PNG, TIFF, XPM和XWD等类型,下面举几个例子:

convert xxx.jpg xxx.png 将jpeg转成png文件

convert xxx.gif xxx.bmp 将gif转换成bmp图像

convert xxx.tiff xxx.pcx 将tiff转换成pcx图像

还可以改变图像的大小:

convert -resize 1024×768 xxx.jpg xxx1.jpg 将图像的像素改为1024*768,注意1024与768之间是小写字母x

convert -sample 50%x50% xxx.jpg xxx1.jpg 将图像的缩减为原来的50%*50%

旋转图像:

convert -rotate 270 sky.jpg sky-final.jpg 将图像顺时针旋转270度

使用-draw选项还可以在图像里面添加文字:

convert -fill black -pointsize 60 -font helvetica -draw ‘text 10,80 “Hello, World!” ‘ hello.jpg helloworld.jpg

在图像的10,80 位置采用60磅的全黑Helvetica字体写上 Hello, World!

convert还有其他很多有趣和强大的功能,大家不妨可以试试。

 

查看图片尺寸

identify 1.jpg

 

 

 

转载请注明:七维网络 » linux下对批量压缩图片尺寸