西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁西西教程軟件使用 → ImageMagick怎么用 ImageMagick命令行代碼使用教程

ImageMagick怎么用 ImageMagick命令行代碼使用教程

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2017/7/26 14:15:36字體大。A-A+

作者:西西點擊:0次評論:0次標簽: ImageMagick ImageMagick怎么用

ImageMagickv7.0.6.3 綠色版
  • 類型:圖像瀏覽大。74.2M語言:英文 評分:6.6
  • 標簽:
立即下載

ImageMagick是一個免費的創(chuàng)建、編輯、合成圖片的軟件。它可以讀取、轉(zhuǎn)換、寫入多種格式的圖片。圖片切割、顏色替換、各種效果的應用,圖片的旋轉(zhuǎn)、組合,文本,直線,多邊形,橢圓,曲線,附加到圖片伸展旋轉(zhuǎn)。其全部源碼開放,可以自由使用,復制,修改,發(fā)布。它遵守GPL許可協(xié)議。它可以運行于大多數(shù)的操作系統(tǒng)。 最為重要的是,ImageMagick的大多數(shù)功能的使用都來源于命令行工具。

ImageMagick還有一個小工具identify,它可以用來顯示一個圖片文件的詳悉信息,比如格式、分辨率、大小、色深等等,你都可用它來幫你的忙。

convert 轉(zhuǎn)換圖像格式和大小,模糊,裁剪,驅(qū)除污點,抖動,臨近,圖片上畫圖片,加入新圖片,生成縮略圖等。

identify 描述一個或較多圖像文件的格式和特性。

composite 根據(jù)一個圖片或多個圖片組合生成圖片

舉個例子

convert +profile '*' [src]{file}.{ext} -quality 80 -resize '280x140^>' -gravity Center -crop 280x140+0+0 +repage [out]{file}_280x140.{ext}

把一張圖片按80的質(zhì)量去壓縮(jpg的壓縮參數(shù)),同時按圖片比例非強制縮放成不超過280x140的圖片.居中裁剪280x140,去掉圖片裁減后的空白和圖片exif信息,通常這種指令是為了保證圖片大小正好為280x140

下面對各個指令的含義簡要說明

-quality   圖片質(zhì)量,jpg默認99,png默認75

-resize

100x100      高度和寬度比例保留最高值,高比不變

100x100^     高度和寬度比例保留最低值,寬高比不變

100x100!      寬度和高度強制轉(zhuǎn)換,忽視寬高比

100x100>     更改長寬,當圖片長或?qū)挸^規(guī)定的尺寸

100x100<     更改長寬 只有當圖片長寬都超過規(guī)定的尺寸

100x100^>   更改長寬,當圖片長或?qū)挸^規(guī)定的尺寸。高度和寬度比例保留最低值

100x100^<   更改長寬,只有當圖片長寬都超過規(guī)定的尺寸。高度和寬度比例保留最低值

100             按指定的寬度縮放,保持寬高比例

 x100          按指定高度縮放,保持寬高比

 

-gravity NorthWest, North, NorthEast, West, Center, East,  SouthWest, South, SouthEast截取用的定位指令,定位截取區(qū)域在圖片中的方位

 

-crop 200x200+0+0 截取用的截取指令 ,在用定位指令后,按后兩位的偏移值偏移截取范圍左上角的像素后,再按前兩位的數(shù)值,從左上角開始截取相應大小的圖片

 

+repage 去掉圖片裁減后的空白


-dissolve 30 設(shè)定組合圖片透明度dissolve示例


+/-profile * 去掉/添加圖片exif信息

下面記錄下一些比較復雜一點的指令:

convert +profile '*' [src]{file}.{ext} -quality 90 -resize '700>' /data/tony/watermark_1.png -gravity southeast -compose Dissolve -composite [out]{file}_1024x1024.{ext}

convert +profile '*' [src]{file}.{ext} /data/watermark_1.png -gravity southeast -geometry +10+10 -composite [src]{file}.{ext}

convert +profile '*' [src]{file}.{ext} -coalesce -resize '950x135>' [out]{file}_950x135.{ext}

convert +profile '*' [src]{file}.{ext} -resize '650x500>' miff:- | composite +profile '*' -dissolve 30 -gravity southeast /data/tony/watermark_1.png - [out]{file}_650x500.{ext}

convert [src]{file}.{ext} -quality 80 -resize '190>' -background white -gravity center -extent 190x +repage [out]{file}_width190.{ext}

【/bin/sh^M: bad interpreter: 沒有那個文件或目錄】
vim filename 
然后用命令 
:set ff? #可以看到dos或unix的字樣. 如果的確是dos格式的。 
然后用 
:set ff=unix #把它強制為unix格式的, 然后存盤退出。


convert功能強大,用來批處理圖片的放大、縮小、裁剪、旋轉(zhuǎn)、合并、水印、拼接、&#26684;式轉(zhuǎn)換等都非常方便,特別適合后臺的圖片處理。

1,獲取圖片信息


$identify image.png
image.png PNG 559x559 559x559+0+0 8-bit sRGB 467KB 0.000u 0:00.008


如果只需要獲取寬高:


$identify -format "%wx%h" image.png


2,放大,縮小 -resize


$convert image.png -resize 200x200 resize.png


>

也可以按照比例(縮小一半):



$convert image.png -resize 50% resize.png


還可以多次縮放(先縮小一半,再放大一倍,效果就是變模糊了):


$convert image.png -resize 50%  -resize 200%  resize.png


3,放大,縮小 -sample

與resize的區(qū)別在于-sample只進行了采樣,沒有進行插&#20540;,所以用來生成縮略圖最合適


$convert image.png -sample 50% sample.png



這個處理的效果就是馬賽克:



$convert image.png -sample 10% -sample 1000% sample.png



4,裁剪 -crop

從(50,50)位置開始,裁剪一個100X100大小的圖片:



$convert image.png -crop 100x100+50+50 crop.png



如果不指定位置,則按照這個大小分隔出小圖片,這個命令生成crop-0.png,crop-1.png,crop-2.png……:



$convert image.png -crop 100x100 crop.png



可以指定裁剪位置的相對位置 -gravity:



$convert image.png -gravity northeast -crop 100x100+0+0 crop.png



-gravity即指定坐標原點,有northwest:左上角,north:上邊中間,northeast:右上角,east:右邊中間……

5,旋轉(zhuǎn) -rotate



$convert image.png -rotate 45 rotate.png



默認的背景為白色,我們可以指定背景色:



$convert image.png -backround black -rotate 45 rotate.png
$convert image.png -background #000000 -rotate 45 rotate.png



還可以指定為透明背景色:



$convert image.png -background rgba(0,0,0,0) -rotate 45 rotate.png



6,合并

合并指的是將一張圖片覆蓋到一個背景圖片上:



$convert image.png -compose over overlay.png -composite newimage.png



-compose指定覆蓋操作的類型,其中over為安全覆蓋,另外還有xor、in、out、atop等等

覆蓋的位置可以通過-gravity指定:



$convert image.png -gravity southeast -compose over overlay.png -composite newimage.png



這是將圖片覆蓋到底圖的右下角。

7,更改圖片的alpha通道

分兩步:



$convert image.png -define png:format=png32  image32.png
$convert image32.png -channel alpha -fx "0.5" imagealpha.png



這個命令首先將image.png的&#26684;式改為png32(確保有alpha通道),然后更改alpha通道置為0.5,也就是半透明,&#20540;的范圍為0到1.0

可以使用將一張透明圖片覆蓋到原圖上的方式做水印圖片:



$convert image.png -gravity center -compose over overlay.png -composite newimage.png
$convert image.png -gravity southeast -compose over overlay.png -composite newimage.png



8,拼接

橫向拼接(&#43;append),下對齊(-gravity south):



$convert image1.png image2.png image3.png -gravity south +append result.png



縱向拼接(-append),右對齊(-gravity east):


$convert image1.png image2.png image3.png -gravity east -append result.png



9,&#26684;式轉(zhuǎn)換



$convert image.png image.jpg
$convert image.png -define png:format=png32 newimage.png



10,文字注釋


$convert image.png -draw "text 0,20 'some text'" newimage.png


從文件text.txt中讀取文字,指定顏色,字體,大小,位置:


$convert source.jpg -font xxx.ttf -fill red -pointsize 48 -annotate +50+50 @text.txt result.jpg


11,去掉邊框

$convert image.png -trim -fuzz 10% newimage.png

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)