Sunday, February 18, 2007

ImageMagickで2値化したのちグラデーションで塗りつぶす

ImageMagickで2値化したのちグラデーションで塗りつぶすには、
以下のバッチファイルのように、-thresholdで閾値を設定して
2値化した後、グラデーション塗りつぶします。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe -size 100x100 gradient:#80ffff-#e0ff80 ( sample5.jpg -threshold 53000 -negate -matte -channel A -fx p==1?1:0 ) -compose screen -composite sample80a.jpg
%im%\convert.exe sample5.jpg -threshold 53000 -matte -channel A -fx p==1?1:0 ( -size 100x100 gradient:#80ffff-#e0ff80 ) -compose screen -composite sample80b.jpg

元画像(sample5.jpg)


出力画像(sample80a.jpg)

Saturday, February 17, 2007

ImageMagickで鏡面映り込みを作成する - その2

ImageMagickでちょっと傾けた鏡面映り込みを
作成するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16

rem 反転&半透明グラデーションをかけて
%im%\convert.exe sample4.jpg -bordercolor #c0c0c0 -border 1x1 -channel A -fx "u!=0?(j/h)*0.6:0" -flip sample4t.png

rem 縦に連結+傾け
%im%\convert.exe sample4.jpg -bordercolor #c0c0c0 -border 1x1 sample4t.png -append -background none -shear 0x5 -gravity center -extent 220x220 sample79a.png

rem jpgで出力
%im%\convert.exe -size 220x220 xc:black sample79a.png -composite sample79b.jpg

背景色を変更したい場合は最後の「jpgで出力」のxc:blackの部分を変えます。

元画像(sample4.jpg)


出力画像(sample79a.jpg)


Friday, February 16, 2007

ImageMagickで角丸四角の影付き枠線を描画する

ImageMagickで角丸四角の影付き枠線を描画するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe -size 100x100 xc:none -stroke #ccddff -fill none -draw "stroke-width 2 roundrectangle 5,5 95,95 10,10" ( +clone -background #000000 -shadow 40x3+2+2 ) +swap -background white -mosaic sample78.gif

出力画像(sample78.gif)

Thursday, February 15, 2007

ImageMagickで画像を角丸四角に切り取って端折処理する

ImageMagickで画像を角丸に切り取って端折処理するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
rem マスクを作って
%im%\convert.exe -size 40x40 xc:none -matte -channel RGBA -fill #ffffffff -draw "roundrectangle 0,0 60,60 20,20" -fx "(i+j)>40?0:u" mask.png
rem グラデーションを作って
%im%\convert.exe -size 60x60 gradient:#ffffff-#d0d0d0 -rotate -45 -crop 40x40+20+20 grad1.png
rem 重ね合わせ+厚み表現のための線を描画
%im%\convert.exe -size 40x40 grad1.png mask.png -compose dst_in -composite -stroke #ffffffff -fill none -draw "roundrectangle 0,0 60,60 20,20" dogear.png
rem 角丸四角切り取りのためのマスク
%im%\convert.exe -size 200x150 -matte -channel RGBA xc:none -background none -fill white -stroke white -draw "roundrectangle 0,0 199,149 20,20" mask2.png
rem 角丸四角切り取り
%im%\convert.exe -size 200x150 sample1.jpg -matte mask2.png -compose dst_in -composite clipped.png
rem 角丸四角から右下を削って折り曲がった部分を重ねる
%im%\convert.exe -size 200x150 clipped.png -matte -channel RGBA -fx "(i+j)>(180+130)?0:u" dogear.png -geometry +160+110 -compose atop -composite sample77a.gif
rem ついでに影つけ
%im%\convert.exe -size 200x150 xc:white sample77a.gif ( +clone -background #000000 -shadow 40x2+3+3 ) +swap -mosaic sample77b.jpg

元画像(sample1.jpg)


出力画像(sample77b.jpg)

Wednesday, February 14, 2007

ImageMagickで文字列がぼやけていくGIFアニメーションを作成する

文字がぼやけていくGIFアニメーションを作成するには
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe -size 100x100 xc:white -fill black -draw "font-size 18 text 20,55 'Sample'" f1.gif
%im%\convert.exe -size 100x100 xc:white -fill black -draw "font-size 18 text 20,55 'Sample'" -blur 0x1 f2.gif
%im%\convert.exe -size 100x100 xc:white -fill black -draw "font-size 18 text 20,55 'Sample'" -blur 0x2 f3.gif
%im%\convert.exe -size 100x100 xc:white -fill black -draw "font-size 18 text 20,55 'Sample'" -blur 0x3 f4.gif
%im%\convert.exe -size 100x100 xc:white -fill black -draw "font-size 18 text 20,55 'Sample'" -blur 0x4 f5.gif
%im%\convert.exe -size 100x100 xc:white -fill black -draw "font-size 18 text 20,55 'Sample'" -blur 0x5 f6.gif
%im%\convert.exe -size 100x100 xc:white -fill black -draw "font-size 18 text 20,55 'Sample'" -blur 0x7 f7.gif
%im%\convert.exe -size 100x100 xc:white -fill black -draw "font-size 18 text 20,55 'Sample'" -blur 0x9 f8.gif
%im%\convert.exe -size 100x100 xc:white -fill black -draw "font-size 18 text 20,55 'Sample'" -blur 0x12 f9.gif
%im%\convert.exe -size 100x100 xc:white -fill black -draw "font-size 18 text 20,55 'Sample'" -blur 0x20 f10.gif

%im%\convert.exe f1.gif f2.gif f3.gif f4.gif f5.gif f6.gif f7.gif f8.gif f9.gif f10.gif -set delay 20 -loop 0 sample76.gif

出力画像(sample76.gif)






















Tuesday, February 13, 2007

ImageMagickで透明な文字列を描画する

以下の方法で透明な文字列を描画することもできます。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe -size 100x100 xc:none -fill white +antialias -draw "font-size 18 text 0,55 'Transparent'" -channel RGBA -negate -fx "p!=1?0:#fad759" sample76a.gif

元画像(sample1.jpg)


出力画像(sample76a.gif)


他の画像と重ね合わせると、字の部分が透けます。
%im%\convert.exe sample1.jpg sample76a.gif -geometry +50+25 -composite sample76b.png

出力画像(sample76b.png)


今度は、半透明の黒背景に透明な文字列の画像を生成します。
%im%\convert.exe -size 100x100 xc:#00000080 -channel RGBA -fill #000000ff +antialias -draw "font-size 18 text 0,55 'Transparent'" -fx "p==#000000?0:p" sample76c.png

出力画像(sample76c.png)


他の画像と重ね合わせると半透明・透明に透けます。
%im%\convert.exe sample1.jpg sample76c.png -geometry +50+25 -composite sample76d.png

出力画像(sample76d.png)

Monday, February 12, 2007

ImageMagickで画像をスケッチ画調に処理する

ImageMagickで画像をスケッチ画調に処理するには
-sketchオプションを使用します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe sample1.jpg -sketch 0x20+60 sample75a.jpg

元画像(sample1.jpg)


出力画像(sample75a.jpg)

Sunday, February 11, 2007

ImageMagickで画像を昔の写真風にする

ImageMagickで画像をコントラスト上げ(x3), ノイズ(+noise),白黒化,色付けで
昔の写真風にすることもできます。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe sample2bg.jpg -contrast -contrast -contrast +noise Impulse -fx "(r+g+b)/3" -fill #fad759 -colorize 30% sample74a.jpg

元画像(sample2bg.jpg)


出力画像(sample74a.jpg)


Saturday, February 10, 2007

ImageMagickで円形に端をぼかす

ImageMagickで円形に端をぼかすにはvignetteオプションを
使用します。その際、-backgroundオプションで色を指定できます。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe sample2bg.jpg -vignette 5x5+10+5 sample73a.jpg
%im%\convert.exe sample2bg.jpg -background black -vignette 10x10+5+10 sample73b.jpg

元画像(sample2bg.jpg)


出力画像(sample73a.jpg)


出力画像(sample73b.jpg)

Friday, February 09, 2007

ImageMagickで任意の色調のモノクローム画像を生成する

ImageMagickで任意の色調のモノクローム画像を生成するには、
白黒のモノクローム画像に変換した後、-colorizeオプションで
任意の色調にします。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe sample1.jpg -fx "(r+g+b)/3" -fill #ccddff -colorize 50% sample72a.jpg

元画像(sample1.jpg)


青色っぽい色調のモノクローム画像(sample72a.jpg)


%im%\convert.exe sample1.jpg -fx "(r+g+b)/3" -fill #fee6e6 -colorize 50% sample72b.jpg

淡いピンク調のモノクローム画像(sample72b.jpg)


%im%\convert.exe sample1.jpg -fx "(r+g+b)/3" -fill #c0b49d -colorize 50% sample72c.jpg

こげ茶っぽいモノクローム画像(sample72c.jpg)


%im%\convert.exe sample1.jpg -fx "(r+g+b)/3" -fill #fad759 -colorize 50% sample72d.jpg

淡いゴールド調のモノクローム画像(sample72d.jpg)








Thursday, February 08, 2007

ImageMagickで回転・縮小するアニメーションGIFを生成する

ImageMagickで回転・縮小するアニメーションGIFを作成するには、
-affineでアフィン変換を使用して回転・スケーリングを行います。
縮小の後、画像サイズが変わるので、-extent及びgravityオプションで
均一サイズにしています。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
rem sx=s*cos(r)
rem rx=s*sin(r)
rem ry=s*-sin(r)
rem sy=s*cos(r)
rem r=30,s=0.95
%im%\convert.exe sample2.png -affine 0.82,0.48,-0.48,0.82,0,0 -transform +repage -gravity center -background white -extent 100x100 -flatten f2.gif
rem r=60,s=0.90
%im%\convert.exe sample2.png -affine 0.45,0.78,-0.78,0.45,0,0 -transform +repage -gravity center -background white -extent 100x100 -flatten f3.gif
rem r=90,s=0.85
%im%\convert.exe sample2.png -affine 0.00,0.85,-0.85,0.00,0,0 -transform +repage -gravity center -background white -extent 100x100 -flatten f4.gif
rem r=120,s=0.8
%im%\convert.exe sample2.png -affine -0.40,0.69,-0.69,-0.40,0,0 -transform +repage -gravity center -background white -extent 100x100 -flatten f5.gif
rem r=150,s=0.75
%im%\convert.exe sample2.png -affine -0.65,0.38,-0.38,-0.65,0,0 -transform +repage -gravity center -background white -extent 100x100 -flatten f6.gif
rem r=180,s=0.7
%im%\convert.exe sample2.png -affine -0.70,0.00,0.00,-0.70,0,0 -transform +repage -gravity center -background white -extent 100x100 -flatten f7.gif
rem r=210,s=0.65
%im%\convert.exe sample2.png -affine -0.56,-0.33,0.33,-0.56,0,0 -transform +repage -gravity center -background white -extent 100x100 -flatten f8.gif
rem r=240,s=0.55
%im%\convert.exe sample2.png -affine -0.28,-0.48,0.48,-0.28,0,0 -transform +repage -gravity center -background white -extent 100x100 -flatten f9.gif
rem r=270,s=0.45
%im%\convert.exe sample2.png -affine 0.00,-0.45,0.45,0.00,0,0 -transform +repage -gravity center -background white -extent 100x100 -flatten f10.gif
rem r=300,s=0.35
%im%\convert.exe sample2.png -affine 0.18,-0.30,0.30,0.18,0,0 -transform +repage -gravity center -background white -extent 100x100 -flatten f11.gif
rem r=330,s=0.25
%im%\convert.exe sample2.png -affine 0.22,-0.13,0.13,0.22,0,0 -transform +repage -gravity center -background white -extent 100x100 -flatten f12.gif
rem r=360,s=0.15
%im%\convert.exe sample2.png -affine 0.15,0.00,0.00,0.15,0,0 -transform +repage -gravity center -background white -extent 100x100 -flatten f13.gif
rem r=390,s=0.05
%im%\convert.exe sample2.png -affine 0.04,0.02,-0.02,0.04,0,0 -transform +repage -gravity center -background white -extent 100x100 -flatten f14.gif
%im%\convert.exe sample2.png f2.gif f3.gif f4.gif f5.gif f6.gif f7.gif f8.gif f9.gif f10.gif f11.gif f12.gif f13.gif f14.gif -set delay 20 -loop 0 sample71.gif

出力画像(sample71.gif)

Wednesday, February 07, 2007

ImageMagickで縞模様の角丸四角を描画する

ImageMagickで縞模様の角丸四角は以下のような
バッチファイルで描画することもできます。

横縞の場合は、-appendオプションでそれぞれの色を
縦方向に追加してパターンを作成します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe -size 1x8 xc:#edd3d2 xc:#e1bfbd xc:#fee6e6 -append pat1.png
%im%\convert.exe -size 100x100 xc:none -tile pat1.png -draw "roundrectangle 0,0 99,99 10,10" sample70a.gif

出力画像(sample70a.jpg)




縦縞の場合は、-appendオプションでそれぞれの色を
横方向に追加してパターンを作成します。


%im%\convert.exe -size 8x1 xc:#edd3d2 xc:#e1bfbd xc:#fee6e6 +append pat2.png
%im%\convert.exe -size 100x100 xc:none -tile pat2.png -draw "roundrectangle 0,0 99,99 10,10" sample70b.gif


出力画像(sample70b.jpg)


Tuesday, February 06, 2007

ImageMagickで点線の角丸四角を描画する - その2

ImageMagickで2色の点線の角丸四角を描画するには、
実線で角丸四角を描画して、点線で重ね書きします。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe -size 100x100 xc:none -stroke #2277dd -fill none -draw "stroke-width 2 roundrectangle 5,5 95,95 10,10" -stroke #ccddff -fill none -strokewidth 2 -draw "stroke-dasharray 4,4 stroke-width 2 roundrectangle 5,5 95,95 10,10" sample69a.gif

出力画像(sample69a.jpg)


ImageMagickで3色の点線の角丸四角を描画するには、
実線で角丸四角を描画して、stroke-dasharrayの幅を変えて2回点線で重ね書きします。

%im%\convert.exe -size 100x100 xc:none -stroke #fce769 -fill none -draw "stroke-width 2 roundrectangle 5,5 95,95 10,10" -stroke #f8c749 -fill none -strokewidth 2 -draw "stroke-dasharray 8,4 stroke-width 2 roundrectangle 5,5 95,95 10,10" -stroke #f4a729 -fill none -strokewidth 2 -draw "stroke-dasharray 4,8 stroke-width 2 roundrectangle 5,5 95,95 10,10" sample69b.gif

出力画像(sample69b.jpg)


関連項目
ImageMagickで点線の角丸四角を描画する - その1

Monday, February 05, 2007

ImageMagickで点線の角丸四角を描画する - その1

ImageMagickで点線の角丸四角を描画するには、
以下のバッチファイルを実行します。
stroke-dasharrayで点線のスタイル、
stroke-widthで線の太さを指定しています。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe -size 100x100 xc:white -stroke #ccddff -fill white -strokewidth 3 -draw "stroke-dasharray 3,4 stroke-width 2 roundrectangle 5,5 95,95 10,10" sample68a.png

出力画像(sample68a.jpg)


関連項目
ImageMagickで点線の角丸四角を描画する - その2

Sunday, February 04, 2007

ImageMagickで凹んだ影付き角丸四角を描画する

ImageMagickで写真立てフレームのように、
凹んだ影付き角丸四角を描画するには、
以下のコマンドを実行します。
枠色は#fad759の部分を他の色に置き換えることもできます。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe sample5.jpg ( -size 100x100 -matte -channel RGBA xc:#00000000 -fill #ffffffff -draw "roundrectangle 10,10 90,90 10,10" -negate -fx "p!=1?0:#fad759" ) ( +clone -background #000000 -shadow 40x2+3+3 ) +swap -mosaic -crop 100x100+0+0 sample67.jpg

元画像(sample5.jpg)


出力画像(sample67.jpg)

Saturday, February 03, 2007

ImageMagickでクリッピングする

ImageMagickでクリッピングするには、
push clip-path 及びclip-pathを使用して領域を指定します。

三角形の内部のみ画像を白黒にするには、以下のバッチファイルを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe -size 260x180 sample4.jpg -draw @clip1.txt -fx "(r+g+b)/3" sample65a.jpg

clip1.txt
--------------------
push defs
push clip-path cliptest
polygon 50,10 0,100 100,100
pop clip-path
pop defs
clip-path cliptest
--------------------

元画像(sample4.jpg)




出力画像(sample65a.jpg)


画面左半分のみ白黒にするには、以下のバッチファイルを実行します。
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe -size 260x180 sample4.jpg -draw @clip2.txt -fx "(r+g+b)/3" sample65b.jpg

clip2.txt
--------------------
push defs
push clip-path cliptest
polygon 0,0 0,100 50,100 50,0
pop clip-path
pop defs
clip-path cliptest
--------------------
出力画像(sample65b.jpg)

Thursday, February 01, 2007

ImageMagickで背景画像をぼかして重ね合わせる

ImageMagickで背景画像をぼかして重ね合わせるには、
以下のようなバッチファイルを実行します。
-blurオプションでぼかして、-geometryオプションで重ね合わせる画像の
座標を指定しています。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe sample4.jpg -blur 5x2 sample2s.png -geometry +50+50 -composite sample64.jpg

背景画像(sample4.jpg)


重ねあわせ画像(sample2s.png)


出力画像(sample64.jpg)


Monday, January 29, 2007

ImageMagickでモーフィングを実行する

ImageMagickでモーフィングを実行するには、
-morphオプションを使用します。
(2つの画像の半透明度を変化させている感じ)
-morphオプションの後にはフレーム数が続きます。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe sample4.jpg sample6.jpg -morph 20 -set delay 10 -loop 0 sample63.gif
元画像(sample4.jpg)

元画像(sample6.jpg)


出力画像(sample63.gif)

Sunday, January 28, 2007

ImageMagickで画像をプレゼントっぽく加工する

ImageMagickで画像をプレゼントっぽく加工するには、
以下のようなバッチファイルで実行できます。
(矩形2つ描画後、テキストを描画して、45度回転させた後に
切り抜いて重ね合わせています。)

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.0-Q16
%im%\convert.exe -size 200x150 sample1.jpg ( -size 200x150 xc:none -matte -channel RGBA -fill #ffffff -draw "rectangle 0,110 199,139" -fill #fbdfdc -draw "rectangle 0,113 199,136" -fill #943d33 -draw "text 52,129 'A Gift For You'" -background none -rotate -45 -crop 200x150-20+50 ) -geometry +20+0 -composite sample55.png

元画像(sample1.jpg)


出力画像(sample55.png)

Saturday, January 27, 2007

ImageMagickで角丸グラデーションの四角を描画する

ImageMagickで角丸グラデーションの四角を描画するには、
以下のようなコマンドで実行できます。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.0-Q16
%im%\convert.exe -size 200x150 gradient:#ccddff-#ffffff ( -size 200x150 xc:none -matte -channel RGBA -fill #ffffffff -draw "roundrectangle 0,0 199,149 20,20" ) -compose dst_in -composite sample54.png

出力画像(sample54.png)



関連項目
ImageMagickで画像を角丸四角に切り取って文字入れをする (Convertコマンド)
ImageMagickで透明なスリットの入ったグラデーションの角丸四角を描画する (Convertコマンド)
ImageMagickで任意の2色の上下グラデーションの角丸四角を描画する (Convertコマンド)
ImageMagickとPHPで、グラデーションの四角・角丸四角を描画する (PHP&Imagick)

Monday, January 22, 2007

ImageMagickで雲模様を描画する

中心点が同じで大きさが異なる円を複数描画することで
ImageMagickでコミカルな雲模様を描画することもできます。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.0-Q16
%im%\convert.exe -size 200x130 xc:none -matte -channel RGBA -fill #fad759 -draw "ellipse 50,50 40,40 0,360 ellipse 80,40 30,30 0,360 ellipse 110,60 50,50 0,360 ellipse 140,40 30,30 0,360 ellipse 160,50 30,30 0,360 ellipse 150,80 30,30 0,360 ellipse 40,80 30,30 0,360 ellipse 80,80 40,40 0,360" -fill #fef779 -draw "ellipse 50,50 30,30 0,360 ellipse 80,40 20,20 0,360 ellipse 110,60 40,40 0,360 ellipse 140,40 20,20 0,360 ellipse 160,50 20,20 0,360 ellipse 150,80 20,20 0,360 ellipse 40,80 20,20 0,360 ellipse 80,80 30,30 0,360" sample53a.gif
rem ついでに影つけ
%im%\convert.exe -size 200x130 xc:white sample53a.gif ( +clone -background #000000 -shadow 40x2+3+3 ) +swap -mosaic sample53b.jpg

出力画像(sample53a.gif)

出力画像(sample53b.gif)

Sunday, January 21, 2007

ImageMagickで端折(ドッグイアー)風の描画をする

ImageMagickで端折(ドッグイアー)風の描画をするには
以下のような手順で行うこともできます。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.0-Q16
rem マスクを作って
%im%\convert.exe -size 40x40 xc:none -matte -channel RGBA -fill #ffffffff -draw "roundrectangle 0,0 60,60 20,20" -fx "(i+j)>40?0:u" mask.png
rem グラデーションを作って
%im%\convert.exe -size 60x60 gradient:#ffffff-#d0d0d0 -rotate -45 -crop 40x40+20+20 grad1.png
rem 重ね合わせ+厚み表現のための線を描画
%im%\convert.exe -size 40x40 grad1.png mask.png -compose dst_in -composite -stroke #ffffffff -fill none -draw "roundrectangle 0,0 60,60 20,20" dogear.png
rem 角丸四角から右下を削って折り曲がった部分を重ねる
%im%\convert.exe -size 200x150 xc:none -matte -channel RGBA -fill #ddddff -draw "roundrectangle 0,0 199,149 20,20" -fx "(i+j)>(180+130)?0:u" dogear.png -geometry +160+110 -compose atop -composite sample52a.gif
rem ついでに影つけ
%im%\convert.exe -size 200x150 xc:white sample52a.gif ( +clone -background #000000 -shadow 40x2+3+3 ) +swap -mosaic sample52b.jpg

出力結果(sample52a.jpg)


出力結果(sample52b.jpg)