ImageMagick是一系列的用於修改、加工圖像的命令行工具。ImageMagick可以快速地使用命令行對圖片進行操做,對大量的圖片進行批處理,或者是集成到bash腳本里去。linux
ImageMagick可以執行至關多的操做。本指南將會指引你學習ImageMagick的語法和基本操做,而且給你展現如何將各個操做結合起來以及如何對多個圖像進行批處理。segmentfault
在Ubuntu以及不少Linux發行版中,沒有默認安裝ImageMagick,要在Ubuntu上安裝它的話,請使用下面的命令:bash
sudo apt-get install imagemagick
convert howtogeek.png howtogeek.jpg
你還能夠指定JPEG格式圖像的壓縮級別:工具
convert howtogeek.png -quality 95 howtogeek.jpg
這個數字的必須在1到100之間。在沒有指定的狀況下,ImageMagick使用原始圖像的質量等級(quality level),不然的話ImageMagick取92做爲其默認值。學習
轉換命令還能夠便捷地調整一幅圖像的大小。下面的命令指示ImageMagick將一幅圖像調整爲200像素寬,100像素高。ui
convert example.png -resize 200×100 example.png
在這個命令裏面,咱們對輸入和輸出使用了相同的文件名,這樣ImageMagick將會覆蓋掉原始文件。spa
在使用這個命令的時候,ImageMagick會盡可能保持圖像的縱橫比。它將會調整圖像以適應200×100的區域,這樣圖像就不是剛好200×100了。若是你想要強制把圖像設置爲指定的大小——即便這樣作會改變圖像的縱橫比的話——那麼在尺寸參數後面加一個歎號就能夠了。.net
convert example.png -resize 200×100! example.png
你還能夠只指定特定的寬度或者高度,ImageMagick會在保持縱橫比的狀況下進行縮放。下面的命令將把一幅圖像的寬度縮放爲200像素寬:命令行
convert example.png -resize 200 example.png
下面的命令會把一幅圖像縮放爲100像素高:翻譯
convert example.png -resize x100 example.png
ImageMagick可以快速地旋轉圖像。下面的命令將一幅叫作「howtogeek.jpg」的圖像旋轉90度,並將旋轉後的圖像保存爲「howtogeek-rotated.jpg」:
convert howtogeek.jpg -rotate 90 howtogeek-rotated.jpg
若是你指定了相同的文件名的話,ImageMagick將會用旋轉過的圖像覆蓋掉原始圖像。
ImageMagick可以在一幅圖像上作出不少種特效來。例如,下面的命令將一種叫作「炭筆畫」(charcoal)的效果應用到一幅圖像上:
convert howtogeek.jpg -charcoal 2 howtogeek-charcoal.jpg
這個命令將會讓你的圖像有一種藝術炭畫的效果,-charcoal選項後面的2能夠控制效果的強度。
![charcoal]http://segmentfault.com/img/bVb09Z
下面的命令產生強度爲1的「內爆」(implode)效果:
convert howtogeek.jpg -implode 1 howtogeek-imploded.jpg
「內爆」效果使得一副圖像看上去中央好像有一個黑洞同樣。
全部的這些命令均可以結合起來使用,這樣一條命令,你就能夠對一幅圖像同時執行縮放、旋轉、添加特效以及格式轉換等操做:
convert howtogeek.png -resize 400×400 -rotate 180 -charcoal 4 -quality 95 howtogeek.jpg
使用ImageMagick,你能作的遠不止這些,還有不少你能夠結合起來使用的命令呢!
利用Bash,你可以便捷地對多個圖像文件進行批處理。例如,下面的命令將會把當前目錄下的全部PNG文件旋轉以後,以原始文件名加「-rotated」組成的新文件名保存。
for file in *.png; do convert $file -rotate 90 rotated-$file; done
稍微修改一下這個命令,你就能夠用它作不少其餘的事情了。此外你還能夠把批處理命令集成到Bash腳本中,從而自動化圖像處理的過程。
任何關於ImageMagick的文章都會省略不少東西——由於它的命令和選項實在是太多了。若是你對ImageMagick的其餘功能感興趣的話,請查閱ImageMagick的官方文檔來對ImageMagick進行更進一步的瞭解。
----
原文 How to quickly resize convert modify images from the linux terminal
翻譯 極客範 - 八卦愛好者