Linux按压缩率大小排序,linux下对批量压缩图片尺寸

本文介绍如何使用ImageMagick工具进行图片压缩,包括按宽度、高度、百分比压缩及固定尺寸等多种方式,并展示了find命令结合convert实现批量处理的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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 

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

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

如:convert -resize “600×600

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

如:convert -resize “600×600

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

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

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

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

如: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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值