日常網(wǎng)站維護(hù)得物app的網(wǎng)絡(luò)營銷分析論文
過大的圖片意味著用戶的頁面加載速度慢。如果站點(diǎn)曾經(jīng)沒有限制圖像大小或者自動調(diào)整大小,那么在Linux中批量調(diào)整這些圖像的大小是最佳解決辦法。適合網(wǎng)站頁面尺寸的圖片大小,可以加速網(wǎng)頁的加載速度。
本文將介紹如何在Linux中使用Imagemagick批量調(diào)整jpg和png文件的大小。
首先,需要在服務(wù)器上安裝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
以下為調(diào)整單張圖片尺寸的示例,將自動保留圖像的縱橫比。注意,這會覆蓋原始文件,可先備份。
convert image.jpg -resize 600x400\> image.jpg
檢查圖像是否已調(diào)整大小:
identify -format "%wx%h" image.jpg
輸出:
600x321
現(xiàn)在開始創(chuàng)建批量調(diào)整圖片大小的腳本,執(zhí)行腳本前請備份圖片文件,因?yàn)闀恍碌某叽鐖D片文件覆蓋。
mkdir -p ~/scripts
nano ~/scripts/batch-image-resize.sh
將腳本粘貼到下面,記得更改相應(yīng)的變量!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保存并退出。
執(zhí)行腳本即可開始調(diào)整新的圖片尺寸:
bash ~/scripts/batch-image-resize.sh