歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 用Linux命令行修圖——縮放、編輯、轉換格式

用Linux命令行修圖——縮放、編輯、轉換格式

日期:2017/2/28 14:34:55   编辑:Linux教程

ImageMagick是一系列的用於修改、加工圖像的命令行工具。ImageMagick能夠快速地使用命令行對圖片進行操作,對大量的圖片進行批處理,或者是集成到bash腳本裡去。
ImageMagick能夠執行相當多的操作。本指南將會指引你學習ImageMagick的語法和基本操作,並且給你展示如何將各個操作結合起來以及如何對多個圖像進行批處理。

安裝

在Ubuntu以及很多Linux發行版中,沒有默認安裝ImageMagick,要在Ubuntu上安裝它的話,請使用下面的命令:

sudo apt-get install imagemagick

轉換圖像的格式

轉換命令對一幅圖像執行某項操作,並將其以你指定的名字保存。你能使用它完成的一個最基本的事情是轉換你的圖像到各種其他的格式。下面的命令將當前目錄下的一個叫“howtogeek.png”的PNG文件轉換為一個JPEG文件。

convert howtogeek.png howtogeek.jpg

你還可以指定JPEG格式圖像的壓縮級別:

convert howtogeek.png -quality 95 howtogeek.jpg

這個數字的必須在1到100之間。在沒有指定的情況下,ImageMagick使用原始圖像的質量等級(quality level),否則的話ImageMagick取92作為其默認值。

縮放圖像

轉換命令還可以便捷地調整一幅圖像的大小。下面的命令指示ImageMagick將一幅圖像調整為200像素寬,100像素高。

convert example.png -resize 200×100 example.png

在這個命令裡面,我們對輸入和輸出使用了相同的文件名,這樣ImageMagick將會覆蓋掉原始文件。

在使用這個命令的時候,ImageMagick會盡量保持圖像的縱橫比。它將會調整圖像以適應200×100的區域,這樣圖像就不是恰好200×100了。如果你想要強制把圖像設置為指定的大小——即使這樣做會改變圖像的縱橫比的話——那麼在尺寸參數後面加一個歎號就可以了。

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可以控制效果的強度。

下面的命令產生強度為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進行更進一步的了解。

ImageMagick 的詳細介紹:請點這裡
ImageMagick 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved