imagick圖片處理

        ImageMagick是一個免費的建立、編輯、合成圖片的軟件。它能夠讀取、轉換、寫入多種格式的圖片。圖片切割、顏色替換、各類效果的應用,圖 片的旋轉、組合,文本,直線,多邊形,橢圓,曲線,附加到圖片伸展旋轉。其所有源碼開放,能夠自由使用,複製,修改,發佈。它遵照GPL許可協議。它能夠 運行於大多數的操做系統。算法

最爲重要的是,ImageMagick的大多數功能的使用都來源於命令行工具。chrome

ImageMagick、GraphicsMagick的命令概覽ide

----------------------------------------------------------------------------工具

[ convert | identify | mogrify | composite | montage | compare | display | animate | import | conjure ]字體

convert:轉換圖像格式和大小,模糊,裁剪,驅除污點,抖動,臨近,圖片上畫圖片,加入新圖片,生成縮略圖等。
identify:描述一個或較多圖像文件的格式和特性。
mogrify:按規定尺寸***一個圖像,模糊,裁剪,抖動等。Mogrify改寫最初的圖像文件而後寫到一個不一樣的圖像文件。
composite:根據一個圖片或多個圖片組合生成圖片。
montage:建立一些分開的要素圖像。在含有要素圖像任意的裝飾圖片,如邊框、結構、圖片名稱等。
compare:在算術上和視覺上評估不一樣的圖片***其它的改造圖片。
display:若是你擁有一個X server的系統,它能夠按次序的顯示圖片
animate:利用X server顯示動畫圖片
import:在X server或任何可見的窗口上輸出圖片文件。 你能夠捕獲單一窗口,整個的熒屏或任何熒屏的矩形部分。
conjure:解釋執行 MSL (Magick Scripting Language) 寫的腳本。
動畫

示例一:綜合操做(ImageMagick命行)spa

  1. convert -crop 300x300+0+0 -resize 200x200 -colors 100 +profile "*" 1.jpg 1.png  操作系統


處理過程解釋:

一、把當前目錄1.jpg圖片文件,從左上角(0,0)座標爲起點,裁剪一塊300x300像素的部分。命令行

二、而後把這部分縮小到200x200像素。server

三、而後把顏色縮減到100色。
四、+profile "*"   , 意味着在圖片文件裏不存儲Exif信息,以減少圖片體積。

五、最後生成1.png,保存在當前目錄。


注意:-resize會試圖保留原圖的原始長寬比例,所以不必定生成的圖片和你 指定的尺寸必定匹配,好比,若是2.jpg大小是400x200,因此若是用命令:convert 2.jpg -resize 100x100 2.png,那麼生成的圖片2.png的實際大小是100x50。

 

經常使用的參數用途說明:
-crop 寬x高+起點橫座標+起點縱座標:裁剪圖
-resize 寬x高!:改變尺寸,若是使用驚歎號,表示不保留視覺比例,強行改變尺寸匹配給定的寬和高;若是僅給定寬或者高,如「寬x」或「x高」形式的參數(「x高」與「寬x高」的效果是同樣的),則以已知參數爲基準按比例改變尺寸。
-colors 顏色數:設定圖片採用的顏色數,若是是生成png或gif圖片應指定這個參數
-quality 質量:設定jpeg圖片輸出質量,推薦採用80,此命令僅用於輸出格式是jpg的狀況,不該省略,省略的話默認質量是95,生成圖片過大
+profile "*":圖片中不存儲Exif信息,必須使用,不然生成圖片過大

示例二:生成縮略圖(ImageMagick命令行)----------------------------------------------------------------------------


  1. convert -sample 80x40 input.jpg output.jpg   (使用一個簡單的算法生成縮略圖,速度快,畫質較低,適合生成100x100如下的圖片)  

  2. convert -resize 100x100 foo.jpg thumbnail.jpg (畫質好)  

  3. convert -resize 50%x50% foo.jpg thumbnail.jpg  

  4. convert -resize 100x200 22.jpg(圖片路徑)   11.jpg(縮放後存放路徑)   圖片按比例縮放  

  5. convert -resize 100x200\! 22.jpg(圖片路徑)   11.jpg(縮放後存放路徑)   強制按給定的寬高縮放 

示例三:裁剪圖片(ImageMagick命令行)----------------------------------------------------------------------------

convert -crop  100(長)x200(高)+10(x座標)+10(y座標)   22.jpg(源圖片路徑)   11.jpg(縮放後存放路徑)

示例四:旋轉圖像  (ImageMagick命令行)----------------------------------------------------------------------------

  1. convert -rotate 90 input.jpg output.jpg 

示例五:獲取文件信息 (ImageMagick命令行)---------------------------------------------------------------------------

  1. libtiff tiffinfo filename.tiff 

示例六:把圖片變爲黑白顏色

  1. convert -monochrome foo.png bar.png 

添加圖片水印處理(ImageMagick命令行)
--------------------------------
假設把名爲logo.gif的水印圖標添加在原始圖片(src.jpg)右下角,且水印的下邊緣距原始圖片10像素、右邊緣距原始圖片5像素。使用以下命令便可:

  1. convert src.jpg logo.gif -gravity southeast -geometry +5+10 -composite dest.jpg  

添加英文文字水印  (ImageMagick命令行)

-----------------------------------------------------
convert  -fill white -pointsize 24 -draw "text 10,15 'lifesinger 2006' "  1.png  2.png

文字座標在:10x50的位置
能夠用-font指定字體,這時須要安裝Ghostscript支持。

若是安裝IM、GM時,沒有安裝Ghostscript字體,會默認使用Linux系統的字體,目錄是:/usr/share/fonts/default/Type1/


添加中文文字水印 (ImageMagick命令行)

-----------------------------------------------------

高版本的ImageMagick的方法

-------------------

convert -font C:\ImageMagick\font\fangzheng.ttf  -fill green -pointsize 40 -draw "text 10,50 '文字'" d:\bagImg\21.jpg d:\bagImg\22.jpg

參數說明: -font C:\ImageMagick\font\fangzheng.ttf    是指明Windows字體文件。

要高版本的ImageMagick同,在加中文文字水印時纔不亂碼。

相關文章
相關標籤/搜索