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) 寫的腳本。函數
顯示圖像文件詳細信息
gm identify a.jpgoop
更改當前目錄下*.jpg的尺寸大小,並保存於目錄.thumb裏面
gm mogrify -output-directory .thumbs -resize 320x200 *.jpg動畫
將三幅圖像和併爲一副圖像
gm montage -mode concatenate -tile 3x1 image1.ppm image2.ppm image3.ppm concatenated.miffspa
顯示圖像
gm display ‘vid:*.jpg’.net
格式轉換
gm convert a.bmp a.jpg
gm convert a.bmp a.pdf(轉換爲pdf)server
調整圖像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
在圖像上添加文字
gm convert -font Arial -fill blue -pointsize 18 -draw 「text 10,10 ‘your text here’」 test.tif test.png
從gif文件中抽取第一幀
gm convert 「Image.gif[0]」 first.gif
創建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
(對每一幀手動指定延時)
gm import -frame a.jpg
保留窗口的邊框
結果::打印出信息
如: 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 4.png
結果:打印出不少信息。
原始圖片是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的乘積,同時在填充和裁剪之間作了一個平衡。
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」);
轉載----方便查閱