文章標簽 ‘convert’

imagemagick圖片反色處理

2011年9月27日 2 條評論

圖片反色處理通過convert的negate參數來實現,同時可以針對制定的區域進行反色。

  • 整個圖片進行反色出來
convert -negate src.jpg negate.jpg

效果圖如下:

原始圖片 反色處理后圖片

  • 部分區域反色
convert -region 100x100+0+0 -negate src.jpg negate-part-1.jpg

convert -gravity center -region 100x100+0+0 -negate src.jpg negate-part-2.jpg

注意:regoin參數需要在negate前,否則無法對指定的區域進行反色處理。另外關于gravity參數詳細信息請參考:ImageMagicK之gravity參數詳解

ImageMagicK的convert參數draw筆記

2011年8月26日 沒有評論

convert通過draw可以在已有的圖片上繪制一些文字、線條、形狀等。可能會用text、line、rectangle、roundRectangle、circle、ellipse等,下面逐一來說明。

  • text,把一段文本繪制到已有圖片上。基本命令格式:convert 圖片 -draw “text x坐標,y坐標 ‘文本信息’” ?結果圖片,另外還可有一些參數是可以設置的,比如字體,字體大小,字體顏色已經重新定義坐標原點。
convert -size 512x50 xc:gray -gravity southeast -fill red -pointsize 24  -draw "text 20,5 'hello netingcn.com!'"  txt.png

上述命令中使用gravity來重新定義坐標,關于gravity的更多信息,請參考ImageMagicK之gravity參數詳解,-fill 設置文字的顏色,顏色能夠使用類似#ff00ff的方式,但是需要用雙引號引起來,-pointsize 24設置文字的大小, -draw 后面引號中第一個單詞是text,表明是在圖片上繪制一個設置的文本,20是x坐標,5則是y坐標,hello netingcn.com!是繪制到圖片上的文本信息,如果文本信息中含有空格,需要用單引號引起來,沒有空格也可以用單引號,所以建議總是使用單引號。不過遺憾的是不能把中文通過這種方式繪制到圖片,要把中文加在圖片是,需要另外的方法。結果如下圖:

  • line,在圖片上繪制一條直線,基本命令格式:convert 圖片 -draw “line 起點x坐標,起點y坐標 ?終點x坐標,終點y坐標” ?結果圖片,可以使用的參數有-stroke 來指定線條的顏色,-strokewidth 指定線的寬度。
convert -size 512x50 xc:gray -stroke white -strokewidth 4 -draw "line 10,25 500,25" line.png

  • rectangle、roundRectangle,兩者功能都是在圖片上繪制一個矩形,前者是直角,后者可以繪制圓角。
convert -size 150x150 xc:gray -stroke red -strokewidth 2 -fill white -draw "Rectangle 10,10 140,140" rect-1.png

convert -size 150x150 xc:gray -stroke red -strokewidth 2 -fill white -draw "roundRectangle 10,10 140,140 8,8" rect-2.png

說明:參數-stroke 來指定邊框的顏色,-strokewidth 指邊框的寬度,-fill 矩形的填充顏色,可以用none設置為不填充任何顏色,如果沒有-fill參數,默認填充為黑色,Rectangle 與roundRectangle 后第一組參數是確定矩形左上角的坐標,第二組是確定右下角的坐標,roundRectangle的第三組參數是確定圓角的幅度,如果是0,0話,就是直角,所以可以直接用roundRectangle 來代替Rectangle 。示例圖片如下:

  • circle、ellipse,分別繪制圓和橢圓。其實也可以用橢圓來完成圓的繪制。下面用例子說明:
convert -size 140x140 xc:gray -stroke red -strokewidth 2 -fill white -draw "circle 70,70 5,70" circle.png

convert -size 140x140 xc:gray -stroke red -strokewidth 2 -fill white -draw "ellipse 70,70 65,65 0,360" ellipse-1.png

convert -size 140x140 xc:gray -stroke red -strokewidth 2 -fill white -draw "ellipse 70,70 60,30 0,360" ellipse-2.png

convert -size 140x140 xc:gray -stroke red -strokewidth 2 -fill white -draw "ellipse 70,70 60,30 90,270" ellipse-3.png

說明:同矩形一樣,參數-stroke 來指定邊框的顏色,-strokewidth 指邊框的寬度,-fill 矩形的填充顏色,可以用none設置為不填充任何顏色。circle和ellipse中的第一組參數都是代表圓心的坐標,但是他們第二組參數含義不同,circle的第二組參數是圓的任何一邊緣坐標,所以圓的半徑就是兩組坐標的距離,ellipse的第二組參數中的第一個是橫向的最大長度、第二個是縱向最大高度,第三組參數是繪制的區間,區間是0~360度,0度是原點開始到從左到右,度數是順時針方向。有了這個參數就可以很容易繪制半圓,1/4圓,乃至圓的任何一部分,所以ellipse比circle的功能更加強大。上述的第二條命令完成和第一條命令同樣的事。示例圖片如下:

無覓相關文章插件,快速提升流量

30选5怎么中奖