(轉)GraphicsMagick、命令行使用示例

GraphicsMagick是從 ImageMagick 5.5.2 分支出來的,可是如今他變得更穩定和優秀,GM更小更容易安裝、GM更有效率、GM的手冊很是豐富GraphicsMagick的命令與ImageMagick基本是同樣的。瀏覽器

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

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

GraphicsMagick圖像處理系統使用方法

  1. 顯示圖像文件詳細信息 
    gm identify a.jpgoop

  2. 更改當前目錄下*.jpg的尺寸大小,並保存於目錄.thumb裏面 
    gm mogrify -output-directory .thumbs -resize 320x200 *.jpg動畫

  3. 將三幅圖像和併爲一副圖像 
    gm montage -mode concatenate -tile 3x1 image1.ppm image2.ppm image3.ppm concatenated.miffspa

  4. 顯示圖像 
    gm display ‘vid:*.jpg’.net

  5. 格式轉換 
    gm convert a.bmp a.jpg 
    gm convert a.bmp a.pdf(轉換爲pdf)server

  6. 調整圖像dpi和大小 
    gm convert -density 288 -geometry 25% image.gif image.gif 
    (縮小爲原先的1/4,而且dpi爲288)圖片

gm convert -resize 640x480 image.gif image.gif 
(轉換爲640x480的圖像)ip

  1. 在圖像上添加文字 
    gm convert -font Arial -fill blue -pointsize 18 -draw 「text 10,10 ‘your text here’」 test.tif test.png

  2. 從gif文件中抽取第一幀 
    gm convert 「Image.gif[0]」 first.gif

  3. 創建gif圖像 
    gm convert -delay 20 frame*.gif animation.gif 
    gm convert -loop 50 frame*.gif animation.gif 
    (讓動畫循環50次)

gm convert -delay 20 frame1.gif -delay 10 frame2.gif -delay 5 frame3.gif animation.gif 
(對每一幀手動指定延時)

  1. 截屏 
    gm import a.jpg 
    用鼠標點擊所要截取的窗口,或者選擇截屏區域,保存爲a.jpg

gm import -frame a.jpg 
保留窗口的邊框

GraphicsMagick經常使用管理命令

  • 查看版本後安裝狀況:gm identify -version

結果::打印出信息

  • 識別圖片:gm identify

如: gm identify 100CANON-1/IMG_4108.JPG 
結果:IMG_4108.JPG JPEG 3648x2736+0+0 DirectClass 8-bit 2.5M 0.000u 0:01

  • 識別圖片(高級):gm identify -verbose

如:gm identify -verbose 4.png 
結果:打印出不少信息。

GraphicsMagick縮放比例的精準控制

原始圖片是input.jpg,尺寸:160x120

  • 只縮小不放大 
    gm convert input.jpg -resize 「500x500>」 output_1.jpg 
    加了>,表示只有當圖片的寬與高,大於給定的寬與高時,才進行「縮小」操做。 
    生成的圖片大小是:160x120,未進行操做 
    若是不加>,會致使圖片被比等放大。

  • 等比縮圖 (缺點:產生白邊) 
    gm convert input.jpg -thumbnail 「100x100」 output_1.jpg 
    生成的圖片大小是:100x75

  • 非等比縮圖,按給定的參數縮圖(缺點:長寬比會變化)

gm convert input.jpg -thumbnail 「100x100!」 output_2.jpg 
生成的圖片大小是:100x100

  • 裁剪後保證等比縮圖 (缺點:裁剪了圖片的一部分)

gm convert input.jpg -thumbnail 「100x100^」 -gravity center -extent 100x100 output_3.jpg 
生成的圖片大小是:100x100,還保證了比例。不過圖片通過了裁剪,剪了圖片左右兩邊才達到1:1

  • 填充後保證等比縮圖 (缺點:要填充顏色,和第一種方法基本同樣)

gm convert input.jpg -thumbnail 「100x100」 -background gray -gravity center -extent 100x100 output_4.jpg 
生成的圖片大小是:100x100,還保證了比例,同時沒有對圖片進行任何裁剪,缺失的部分按指定顏色進行填充。

  • 裁剪、填充相結合 (缺點:最差的方法)

gm convert input.jpg -thumbnail 「10000@ -background gray -gravity center -extent 100x100 output_5.jpg 
生成的圖片大小是:100x100,此次保證了大小和比例,其中的10000就是100x100的乘積,同時在填充和裁剪之間作了一個平衡。

  • 位深度32 轉爲24

IE6,7,8不支持顯示「位深度32」的圖片,但IE九、火狐、谷歌瀏覽器就能夠顯示。 
使用GM,把「位深度32」的圖片轉換爲「位深度24」的圖片 
輸入圖片zzz.jpg就是「位深度32」的圖片,輸出圖片 zzz_out.jpg就是「位深度24」的圖片 
gm convert -resize 100x100 -colorspace RGB zzz.jpg zzz_out.jpg 
轉完後,圖片的顏色會有輕微變化。

在瀏覽器上選擇圖片裁剪的座標

================================= 
若是想讓用戶手動裁剪頭片的話,就是在瀏覽器上選擇圖片裁剪的座標,imgAreaSelect是個好選擇。 
imgAreaSelect is a jQuery plugin for selecting a rectangular area of an image. 
http://odyniec.net/projects/imgareaselect/

Jmagick銳化圖片功能


ImageInfo info = new ImageInfo(filepath+」pics.jpg」); 
MagickImage image = new MagickImage(info); 
MagickImage sharpened = image.sharpenImage(1.0, 5.0); 
sharpened.setFileName(filepath+」sharpened.jpg」); 
sharpened.writeImage(info); 
主要是函數sharpenImage(double arg0, double arg1); 
建議arg0=1.0 arg1=5.0 
arg0爲半徑 arg1爲闕值 
這樣作的目的: 
明顯會使圖片變得清晰好看。

JMagick 經常使用技巧


ImageMagick中使用+profile 「*」 刪除圖片中不存儲附加信息.

JMagick中,使用MagickImage類上的profileImage(「*」, null)方法,刪除圖片中不存儲附加信息.

刪除圖片中的ICC,ICM, IPTC,8bim等信息

ImageMagick中使用-quality控制圖片的品質,

JMagick中,使用ImageInfo類上的setQuality(80)方法,控制圖片的品質

在Web應用(Resin,Tomcat)使用ImageMagick


若是要在Web應用(Resin,Tomcat)使用ImageMagick,

須要再運行時加入參數: -Djmagick.systemclassloader=no

或者在程序中寫入:System.setProperty(「jmagick.systemclassloader」, 「no」);

 

轉載----方便查閱

相關文章
相關標籤/搜索