Linux中使用Imagemagick批量调整图片大小
过大的图片意味着用户的页面加载速度慢。如果站点曾经没有限制图像大小或者自动调整大小,那么在Linux中批量调整…
过大的图片意味着用户的页面加载速度慢。如果站点曾经没有限制图像大小或者自动调整大小,那么在Linux中批量调整这些图像的大小是最佳解决办法。适合网站页面尺寸的图片大小,可以加速网页的加载速度。
本文将介绍如何在Linux中使用Imagemagick批量调整jpg和png文件的大小。
首先,需要在服务器上安装Imagemagick。
Debian或Ubuntu安装Imagemagick的方法:
sudo apt-get update
sudo apt-get install imagemagick -y
CentOS安装Imagemagick的方法:
yum install -y ImageMagick ImageMagick-devel
安装成功后,我们可以使用identify
命令获取宽度(%w
)和高度(%h
),示例:
identify -format "%wx%h" image.jpg
将看到分辨率,前面是宽度,后面是高度,例如:
3960x2120
以下为调整单张图片尺寸的示例,将自动保留图像的纵横比。注意,这会覆盖原始文件,可先备份。
convert image.jpg -resize 600x400> image.jpg
检查图像是否已调整大小:
identify -format "%wx%h" image.jpg
输出:
600x321
现在开始创建批量调整图片大小的脚本,执行脚本前请备份图片文件,因为会被新的尺寸图片文件覆盖。
mkdir -p ~/scripts
nano ~/scripts/batch-image-resize.sh
将脚本粘贴到下面,记得更改相应的变量!FOLDER
是图像文件夹的绝对路径,WIDTH
是最大宽度,HEIGHT
是最大高度。
#!/usr/bin/env bash
# Purpose: batch image resizer
# Source: https://www.zhanzhangb.com
# Author: Mike
# absolute path to image folder
FOLDER="/var/www/www.zhanzhangb.com/wp-content/uploads"
# max width
WIDTH=650
# max height
HEIGHT=500
#resize png or jpg to either height or width, keeps proportions using imagemagick
#find ${FOLDER} -iname '*.jpg' -o -iname '*.png' -exec convert {} -verbose -resize $WIDTHx$HEIGHT> {} ;
#resize png to either height or width, keeps proportions using imagemagick
#find ${FOLDER} -iname '*.png' -exec convert {} -verbose -resize $WIDTHx$HEIGHT> {} ;
#resize jpg only to either height or width, keeps proportions using imagemagick
find ${FOLDER} -iname '*.jpg' -exec convert {} -verbose -resize $WIDTHx$HEIGHT> {} ;
# alternative
#mogrify -path ${FOLDER} -resize ${WIDTH}x${HEIGHT}% *.png -verbose
Ctrl + X,Y + Enter保存并退出。
执行脚本即可开始调整新的图片尺寸:
bash ~/scripts/batch-image-resize.sh
类别:增涨知识、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
评论功能已经关闭!