mac 命令列批量處理照片
近日處理了一批照片,現在分享一下如何在mac平臺進行圖片批量處理。
處理的目標
- 尺寸壓縮
- 檔案大小壓縮
準備
- brew up
- brew install imagemagick
- brew install jpegoptim
工具介紹
- imagemagick
修改圖片尺寸, 使用示例:- 圖片尺寸修改為原圖的85%
convert -resize 85%x85% $img $img-resized;
- 限定寬度和高度
convert -resize 1024x800 $img $img-resized;
- 指定寬度,高度自適應
convert -resize 1024x $img $img-resized;
- jpegoptim
優化圖片質量,減小圖片所佔硬碟空間,使用示例:- 優化圖片所佔硬碟空間 (直接修改原圖)
jpegoptim --size=400 $img
- 優化圖片所佔硬碟空間 (直接修改原圖)
** --size=400 儘量不影響圖片質量,將檔案壓縮為400kb左右 **
--max=80 圖片質量80%
批量處理指令碼 (儲存檔案為photo.sh)
PHOTODIR=$1
PHOTOFORMAT=$2
IFS_OLD=$IFS # 先儲存 IFS 變數
IFS=$'\n' # 將 IFS 改為換行符
if [ ! -d "$PHOTODIR"/new ]; then
mkdir "$PHOTODIR"/new
fi
cd $PHOTODIR;
for img in `find ./ -name "*.$PHOTOFORMAT"`; do
convert -resize 1200x $img new/$img;
jpegoptim --max=95 new/$img
done
IFS=IFS_OLD
** 可根據實際情況適當修改convert,jpegoptim命令的引數 **
使用
用法:sh photo.sh {圖片目錄位置} {圖片字尾}
示例:sh photo.sh photo/成品 jpg
輸出目錄
photp/成品/new
效果:
一共72張照片,處理之前600M+,處理之後20M左右
以上的工具都有相應的php擴充套件,可以在專案中引入相關功能。
相關文章
- RAW照片處理器:DxO PureRAW for MacMac
- 通過佇列實現批量處理佇列
- PDF Checkpoint for mac(pdf批量處理軟體)Mac
- Cinematic Photo Effects for Mac(照片特效處理軟體)Mac特效
- Mac電腦如何批量刪除照片?Mac
- WidsMob HDR Mac(光照渲染效果照片處理器)Mac
- WidsMob HDR Mac 光照渲染效果照片處理器Mac
- 詳解Bash命令列處理命令列
- 命令列與Shell -> 文字處理命令之sed命令列
- 數碼照片處理軟體:SILKYPIX Developer Studio for MacDeveloperMac
- 使用 getopt() 進行命令列處理命令列
- 詳解Bash命令列處理(轉)命令列
- 照片處理軟體(photodiva)
- 照片後期處理軟體 DxO FilmPack 6 mac中文版Mac
- ON1 HDR 2023 for Mac(HDR照片處理軟體)Mac
- Mac命令列Mac命令列
- MySQL使用Batch批量處理MySqlBAT
- svn常用命令列和批處理命令列
- 照片後期處理軟體:DxO PhotoLab 7 for Mac中文版Mac
- DxO PhotoLab 6:超越傳統的照片處理,賦予每一張照片生命 mac/win版Mac
- Mac圖片批量處理工具Mac
- 批量照片水印新增工具
- 命令列批量截圖Node指令碼命令列指令碼
- Python批量處理圖片Python
- SpringBatch批量處理策略SpringBAT
- 批量處理檔名稱(上)
- Python 批量處理檔案Python
- 海量資料處理_批量插入
- 海量資料處理_批量更新
- P處理 批量更改檔名
- sap 批量處理異常tRFC
- DxO PhotoLab:超越傳統的照片處理,賦予每一張照片生命 mac/win啟用版Mac
- 數碼照片處理軟體:SILKYPIX Developer Studio Pro 11E for MacDeveloperMac
- ON1 Photo RAW 2024:Mac上的全能照片處理軟體Mac
- SILKYPIX Developer Studio Pro 11E Mac(RAW數碼照片處理神器)DeveloperMac
- 另一個go命令列引數處理器 - cmdrGo命令列
- React setState合併和批量處理React
- 正規表示式處理批量插入