使用ImageMagick批量裁剪圖像
今天,我進行的任務之一涉及批量裁剪許多圖片。我發現ImageMagick在縮放和裁剪圖像方面非常有用。Mogrify,一個在ImageMagick包內的命令,使我們能夠對多個圖像進行各種操作。我發表這篇指南作為自己未來的參考,也許對其他人也有所幫助。
第一步:安裝MacPorts
https://www.macports.org/install.php
完成安裝後,如果你遇到以下錯誤:
> _sudo: port: command not found_
问题可能是因为MacPorts二进制文件安装在/opt/local/bin
。你需要手動更新你的shell的環境以適配MacPorts:
> _export PATH=$PATH:/opt/local/bin_
> _source .profile_
> _sudo port -v selfupdate_
第二步:安裝 ImageMagick
http://www.imagemagick.org/script/binary-releases.php
執行以下命令進行安裝:
> _sudo port install ImageMagick_
port
指令會下載ImageMagick和許多來自它的委託庫。如果你遇到像這樣的錯誤:
> _convert: command not found_
將MAGICK_HOME
環境變量設置為你提取ImageMagick文件的路徑:
> _export MAGICK_HOME="$HOME/ImageMagick-6.9.1"_
如果解壓包的bin
子目錄還不在你的可執行搜尋路徑中,添加它:
> _export PATH="$MAGICK_HOME/bin:$PATH"_
設置DYLD_LIBRARY_PATH
環境變量:
> _export DYLD_LIBRARY_PATH="$MAGICK_HOME/lib"_
第三步:添加遺失的解碼庫
如果你嘗試轉換JPEG圖像並獲得以下錯誤消息:
> _“convert: no decode delegate for this image format”_
1.訪問 http://www.imagemagick.org/download/delegates/ 下載需要的或缺失的代理庫,如jpegsr9a.zip
。
2.解壓縮該檔案。
3.更改目錄到解壓縮後的文件夾:
> _cd jpeg-9a_
4.然後執行:
> _./configure; make; make test; make -n install_
第五步:使用方式
為了避免覆蓋原始圖像文件,創建一個新文件夾,並在那裡備份圖像。
如果要將一個單獨的圖像大小調整為600px的高度,同時保持相同的縱橫比,運行:
> _convert input.png -geometry x600 output.png_
如果你想轉換文件夾中的所有圖像,更改到該目錄並使用:
> _mogrify -geometry x600 *.png_
要將圖像縮小到200像素:
> _convert myPhoto.jpg -resize 200x200^_
從圖片中央裁剪圖片:
> _convert myPhoto.jpg -gravity Center -crop 200x200+0+0 +repage newPhoto.jpg_
-gravity south
選項指定裁剪應該從圖像的底部開始。-chop 0x135
選項從高度中切割135個像素:
> _mogrify -gravity south -chop 0x135 *.jpg_
要將當前目錄中的所有圖像大小調整為800的寬度(高度將按比例減少):
> _mogrify -resize 800 *.jpg_
要旋轉圖片90度:
> _mogrify -rotate 90 *.jpg_
閱讀更多: