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

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

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

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

作者:西西點(diǎn)擊:0次評(píng)論:0次標(biāo)簽: ImageMagick ImageMagick怎么用

ImageMagickv7.0.6.3 綠色版
  • 類(lèi)型:圖像瀏覽大。74.2M語(yǔ)言:英文 評(píng)分:6.6
  • 標(biāo)簽:
立即下載

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

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

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

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

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

舉個(gè)例子

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

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

下面對(duì)各個(gè)指令的含義簡(jiǎn)要說(shuō)明

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

-resize

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

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

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

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

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

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

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

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

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

 

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

 

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

 

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


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


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

下面記錄下一些比較復(fù)雜一點(diǎn)的指令:

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: 沒(méi)有那個(gè)文件或目錄】
vim filename 
然后用命令 
:set ff? #可以看到dos或unix的字樣. 如果的確是dos格式的。 
然后用 
:set ff=unix #把它強(qiáng)制為unix格式的, 然后存盤(pán)退出。


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

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只進(jìn)行了采樣,沒(méi)有進(jìn)行插&#20540;,所以用來(lái)生成縮略圖最合適


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



這個(gè)處理的效果就是馬賽克:



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



4,裁剪 -crop

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



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



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



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



可以指定裁剪位置的相對(duì)位置 -gravity:



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



-gravity即指定坐標(biāo)原點(diǎn),有northwest:左上角,north:上邊中間,northeast:右上角,east:右邊中間……

5,旋轉(zhuǎn) -rotate



$convert image.png -rotate 45 rotate.png



默認(rèn)的背景為白色,我們可以指定背景色:



$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,合并

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



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



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

覆蓋的位置可以通過(guò)-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



這個(gè)命令首先將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),下對(duì)齊(-gravity south):



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



縱向拼接(-append),右對(duì)齊(-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)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門(mén)評(píng)論

    最新評(píng)論

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

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