对图片尺寸进行压缩要用到命令:
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下对批量压缩图片尺寸