乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      ImageMagick簡(jiǎn)介、GraphicsMagick、命令行使用示例

       旭龍 2013-04-19

      ImageMagick資料

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

      ImageMagick官網(wǎng)

      ImageMagick Identify 命令行工具(官網(wǎng))

      ImageMagick 程序接口文檔

      ImageMagick使用示例(非常好的示例)

       

      GraphicsMagick資料

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

      GraphicsMagick官網(wǎng) 

      GraphicsMagick編程接口  

      ImageMagick 程序接口  

      Im4java 下載地址

      IM4JAVA+GraphicsMagick處理網(wǎng)站圖片  

       

      命令行參數(shù),說(shuō)明文檔

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

      GraphicsMagick 命令行參數(shù),說(shuō)明文檔
      ImageMagick 命令行參數(shù),說(shuō)明文檔

      ImageMagick介紹

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

            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)源于命令行工具。

       

      GraphicsMagick介紹

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

      GraphicsMagick是從 ImageMagick 5.5.2 分支出來(lái)的,但是現(xiàn)在他變得更穩(wěn)定和優(yōu)秀,GM更小更容易安裝、GM更有效率、GM的手冊(cè)非常豐富GraphicsMagick的命令與ImageMagick基本是一樣的。

       

       

      ImageMagick、GraphicsMagick的命令概覽

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

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

       

      convert:轉(zhuǎn)換圖像格式和大小,模糊,裁剪,驅(qū)除污點(diǎn),抖動(dòng),臨近,圖片上畫(huà)圖片,加入新圖片,生成縮略圖等。
      identify:描述一個(gè)或較多圖像文件的格式和特性。
      mogrify:按規(guī)定尺寸***一個(gè)圖像,模糊,裁剪,抖動(dòng)等。Mogrify改寫(xiě)最初的圖像文件然后寫(xiě)到一個(gè)不同的圖像文件。
      composite:根據(jù)一個(gè)圖片或多個(gè)圖片組合生成圖片。
      montage:創(chuàng)建一些分開(kāi)的要素圖像。在含有要素圖像任意的裝飾圖片,如邊框、結(jié)構(gòu)、圖片名稱(chēng)等。
      compare:在算術(shù)上和視覺(jué)上評(píng)估不同的圖片***其它的改造圖片。
      display:如果你擁有一個(gè)X server的系統(tǒng),它可以按次序的顯示圖片
      animate:利用X server顯示動(dòng)畫(huà)圖片
      import:在X server或任何可見(jiàn)的窗口上輸出圖片文件。 你可以捕獲單一窗口,整個(gè)的熒屏或任何熒屏的矩形部分。
      conjure:解釋執(zhí)行 MSL (Magick Scripting Language) 寫(xiě)的腳本。


      示例一:綜合操作(ImageMagick命令行)----------------------------------------------------------------------------

       

      Java代碼  收藏代碼
      1. convert -crop 300x300+0+0 -resize 200x200 -colors 100 +profile "*" 1.jpg 1.png  
       

       

      處理過(guò)程解釋?zhuān)?/strong>

      1、把當(dāng)前目錄1.jpg圖片文件,從左上角(0,0)坐標(biāo)為起點(diǎn),裁剪一塊300x300像素的部分。

      2、然后把這部分縮小到200x200像素。

      3、然后把顏色縮減到100色。
      4、+profile "*"   , 意味著在圖片文件里不存儲(chǔ)Exif信息,以減小圖片體積。

      5、最后生成1.png,保存在當(dāng)前目錄。


      注意:-resize會(huì)試圖保留原圖的原始長(zhǎng)寬比例,因此不一定生成的圖片和你指定的尺寸一定匹配,比如,如果2.jpg大小是400x200,所以如果用命令:convert 2.jpg -resize 100x100 2.png,那么生成的圖片2.png的實(shí)際大小是100x50。

       

      常用的參數(shù)用途說(shuō)明:
      -crop 寬x高+起點(diǎn)橫坐標(biāo)+起點(diǎn)縱坐標(biāo):裁剪圖
      -resize 寬x高!:改變尺寸,如果使用驚嘆號(hào),表示不保留視覺(jué)比例,強(qiáng)行改變尺寸匹配給定的寬和高;如果僅給定寬或者高,如“寬x”或“x高”形式的參數(shù)(“x高”與“寬x高”的效果是一樣的),則以已知參數(shù)為基準(zhǔn)按比例改變尺寸。
      -colors 顏色數(shù):設(shè)定圖片采用的顏色數(shù),如果是生成png或gif圖片應(yīng)指定這個(gè)參數(shù)
      -quality 質(zhì)量:設(shè)定jpeg圖片輸出質(zhì)量,推薦采用80,此命令僅用于輸出格式是jpg的情況,不應(yīng)省略,省略的話(huà)默認(rèn)質(zhì)量是95,生成圖片過(guò)大
      +profile "*":圖片中不存儲(chǔ)Exif信息,必須使用,否則生成圖片過(guò)大

       

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

      Java代碼  收藏代碼
      1. convert -sample 80x40 input.jpg output.jpg   (使用一個(gè)簡(jiǎn)單的算法生成縮略圖,速度快,畫(huà)質(zhì)較低,適合生成100x100以下的圖片)  
      2. convert -resize 100x100 foo.jpg thumbnail.jpg (畫(huà)質(zhì)好)  
      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(縮放后存放路徑)   強(qiáng)制按給定的寬高縮放  
       

       

       

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

       

      Java代碼  收藏代碼
      1. convert -crop  100(長(zhǎng))x200(高)+10(x坐標(biāo))+10(y坐標(biāo))   22.jpg(源圖片路徑)   11.jpg(縮放后存放路徑)    
       

       

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

      Java代碼  收藏代碼
      1. convert -rotate 90 input.jpg output.jpg  
       
      示例五:獲取文件信息 (ImageMagick命令行)----------------------------------------------------------------------------
      Java代碼  收藏代碼
      1. libtiff tiffinfo filename.tiff  
       

       

      示例六:把圖片變?yōu)楹诎最伾?/strong>(ImageMagick命令行)----------------------------------------------------------------------------

      Java代碼  收藏代碼
      1. convert -monochrome foo.png bar.png  
       
      添加圖片水印處理(ImageMagick命令行)
      --------------------------------
      假設(shè)把名為logo.gif的水印圖標(biāo)添加在原始圖片(src.jpg)右下角,且水印的下邊緣距原始圖片10像素、右邊緣距原始圖片5像素。使用如下命令即可:
      Java代碼  收藏代碼
      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

      文字坐標(biāo)在:10x50的位置
      可以用-font指定字體,這時(shí)需要安裝Ghostscript支持。

      如果安裝IM、GM時(shí),沒(méi)有安裝Ghostscript字體,會(huì)默認(rèn)使用Linux系統(tǒng)的字體,目錄是:/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

      參數(shù)說(shuō)明: -font C:\ImageMagick\font\fangzheng.ttf    是指明Windows字體文件。

      要高版本的ImageMagick同,在加中文文字水印時(shí)才不亂碼。

       

       

      低版本的ImageMagick的方法

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

      存在中文的情況:假設(shè)存有信息的文件叫t.txt,字體文件是msyh.ttf。

      Java代碼  收藏代碼
      1. 方法1:  
      2. //把文件t.txt中的信息生成圖片txt.png, -transparent white讓圖片的背景透明,-size x30設(shè)置圖片的高度  
      3. convert -transparent white -font msyh.ttf -fill black -pointsize 24 label:@t.txt txt.png  
      4. //把txt.png合成到src.jpg上  
      5. convert src.jpg txt.png -gravity southeast -geometry +10+5 -composite dest.jpg  
      6.   
      7. 方法2:  
      8. convert src.jpg -transparent white -font msyh.ttf -fill black -pointsize 24 -size x30 label:@t.txt -gravity southeast -geometry +10+5 -composite dest.jpg  
      9.   
      10. 方法3:  
      11. mogrify -font msyh.ttf -pointsize 24 -fill black -weight bolder -gravity southeast -annotate +20+20 @"t.txt" src.jpg  
      說(shuō)明:上述第一、二種方法都有瑕疵,第二種背景不能變成透明,第一種雖然生成的圖片可以透明,但是合成到原始圖上效果不是很理想,第三種是完全透明的,所以推進(jìn)用第三種方式來(lái)操作。

       

       

       

       



      GraphicsMagick圖像處理系統(tǒng)使用方法
      -----------------------------------------------------
      0. 顯示圖像文件詳細(xì)信息
      gm identify a.jpg
       
      1.更改當(dāng)前目錄下*.jpg的尺寸大小,并保存于目錄.thumb里面
      gm mogrify -output-directory .thumbs -resize 320x200 *.jpg
       
      2. 將三幅圖像和并為一副圖像
      gm montage -mode concatenate -tile 3x1 image1.ppm image2.ppm image3.ppm concatenated.miff
       
      3. 顯示圖像
      gm display 'vid:*.jpg'
       
      4. 格式轉(zhuǎn)換
      gm convert a.bmp a.jpg
      gm convert a.bmp a.pdf(轉(zhuǎn)換為pdf)
       
      5. 調(diào)整圖像dpi和大小
      gm convert -density 288 -geometry 25% image.gif image.gif
      (縮小為原先的1/4,并且dpi為288)
       
      gm convert -resize 640x480 image.gif image.gif
      (轉(zhuǎn)換為640x480的圖像)
       
      6. 在圖像上添加文字
      gm convert -font Arial -fill blue -pointsize 18 -draw "text 10,10 'your text here'" test.tif test.png
       
      7. 從gif文件中抽取第一幀
      gm convert "Image.gif[0]" first.gif
       
      8. 建立gif圖像
      gm convert -delay 20 frame*.gif animation.gif
      gm convert -loop 50 frame*.gif animation.gif
      (讓動(dòng)畫(huà)循環(huán)50次)
       
      gm convert -delay 20 frame1.gif -delay 10 frame2.gif -delay 5 frame3.gif animation.gif
      (對(duì)每一幀手動(dòng)指定延時(shí))
       
      9. 截屏
      gm import a.jpg
      用鼠標(biāo)點(diǎn)擊所要截取的窗口,或者選擇截屏區(qū)域,保存為a.jpg
       
      gm import -frame a.jpg
      保留窗口的邊框

      GraphicsMagick常用管理命令
      -----------------------------------------------------
      查看版本后安裝情況:gm identify -version
      結(jié)果::打印出信息

      識(shí)別圖片:gm identify  /Users/zhaorai/Pictures/照片/100CANON-1/IMG_4108.JPG
      結(jié)果:/Users/zhaorai/Pictures/照片/100CANON-1/IMG_4108.JPG JPEG 3648x2736+0+0 DirectClass 8-bit 2.5M 0.000u 0:01

      識(shí)別圖片(高級(jí)):gm identify  -verbose /Users/zhaorai/Desktop/4.png
      結(jié)果:打印出很多信息。


      GraphicsMagick縮放比例的精準(zhǔn)控制
      -----------------------------------------------------
      原始圖片是input.jpg,尺寸:160x120

      只縮小不放大
      gm convert input.jpg -resize "500x500>" output_1.jpg
      加了>,表示只有當(dāng)圖片的寬與高,大于給定的寬與高時(shí),才進(jìn)行“縮小”操作。
      生成的圖片大小是:160x120,未進(jìn)行操作
      如果不加>,會(huì)導(dǎo)致圖片被比等放大。

      等比縮圖  (缺點(diǎn):產(chǎn)生白邊)
      gm convert input.jpg -thumbnail "100x100" output_1.jpg
      生成的圖片大小是:100x75

      非等比縮圖,按給定的參數(shù)縮圖(缺點(diǎn):長(zhǎng)寬比會(huì)變化)
      gm convert input.jpg -thumbnail "100x100!" output_2.jpg
      生成的圖片大小是:100x100

      裁剪后保證等比縮圖 (缺點(diǎn):裁剪了圖片的一部分)
      gm convert input.jpg -thumbnail "100x100^" -gravity center -extent 100x100 output_3.jpg
      生成的圖片大小是:100x100,還保證了比例。不過(guò)圖片經(jīng)過(guò)了裁剪,剪了圖片左右兩邊才達(dá)到1:1

      填充后保證等比縮圖 (缺點(diǎn):要填充顏色,和第一種方法基本一樣)
      gm convert input.jpg -thumbnail "100x100" -background gray -gravity center -extent 100x100 output_4.jpg
      生成的圖片大小是:100x100,還保證了比例,同時(shí)沒(méi)有對(duì)圖片進(jìn)行任何裁剪,缺失的部分按指定顏色進(jìn)行填充。

      裁剪、填充相結(jié)合 (缺點(diǎn):最差的方法)
      gm convert input.jpg -thumbnail "10000@ -background gray -gravity center -extent 100x100 output_5.jpg
      生成的圖片大小是:100x100,這次保證了大小和比例,其中的10000就是100x100的乘積,同時(shí)在填充和裁剪之間做了一個(gè)平衡。

       

       

      在瀏覽器上選擇圖片裁剪的坐標(biāo)

      =================================
      如果想讓用戶(hù)手動(dòng)裁剪頭片的話(huà),就是在瀏覽器上選擇圖片裁剪的坐標(biāo),imgAreaSelect是個(gè)好選擇。
      imgAreaSelect is a jQuery plugin for selecting a rectangular area of an image.
      http:///projects/imgareaselect/


      ======================其它內(nèi)容=================================

      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);
      主要是函數(shù)sharpenImage(double arg0, double arg1);
      建議arg0=1.0 arg1=5.0
      arg0為半徑  arg1為闕值
      這樣做的目的:
      明顯會(huì)使圖片變得清晰好看。

       

      JMagick 常用技巧

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

      ImageMagick中使用+profile "*"   刪除圖片中不存儲(chǔ)附加信息.

      JMagick中,使用MagickImage類(lèi)上的profileImage("*", null)方法,刪除圖片中不存儲(chǔ)附加信息. 

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

      ImageMagick中使用-quality控制圖片的品質(zhì),

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

       

       在Web應(yīng)用(Resin,Tomcat)使用ImageMagick

      -----------------------------------------
      如果要在Web應(yīng)用(Resin,Tomcat)使用ImageMagick,

      需要再運(yùn)行時(shí)加入?yún)?shù): -Djmagick.systemclassloader=no

      或者在程序中寫(xiě)入:System.setProperty("jmagick.systemclassloader", "no");

       

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多