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)

Friday, January 19, 2007

ImageMagickで画像をポラロイド写真風にする

ImageMagickで画像をポラロイド写真風にするには、
-polaroidオプションを使用します。-polaroidオプションの
引数は傾きの角度です。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe -size 200x150 sample1.jpg -background #909090 -polaroid 30 -background #ddddff -flatten sample58.png

元画像(sample1.jpg)


出力画像(sample58.png)


関連項目
ImageMagickとVBS(WSH)でポラロイド写真を並べた画像を生成する
ImageMagickで、画像をポラロイド写真風にして、日本語文字列を描画する

Thursday, January 18, 2007

ImageMagickでフェードイン・フェードアウトのアニメーションGIFを作成する

ImageMagickでフェードイン・フェードアウトのアニメーションGIFを作成するには
-modulateで明るさの異なる画像をそれぞれ生成し、アニメーションGIFにします。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
rem フェードイン
%im%\convert.exe sample6.jpg -modulate 10 ( sample6.jpg -modulate 20 ) ( sample6.jpg -modulate 30 ) ( sample6.jpg -modulate 40 ) ( sample6.jpg -modulate 50 ) ( sample6.jpg -modulate 60 ) ( sample6.jpg -modulate 70 ) ( sample6.jpg -modulate 80 ) ( sample6.jpg -modulate 90 ) ( sample6.jpg -modulate 100 ) -set delay 20 -loop 0 sample60a.gif
rem フェードアウト
%im%\convert.exe sample6.jpg -modulate 100 ( sample6.jpg -modulate 90 ) ( sample6.jpg -modulate 80 ) ( sample6.jpg -modulate 70 ) ( sample6.jpg -modulate 60 ) ( sample6.jpg -modulate 50 ) ( sample6.jpg -modulate 40 ) ( sample6.jpg -modulate 30 ) ( sample6.jpg -modulate 20 ) ( sample6.jpg -modulate 10 ) -set delay 20 -loop 0 sample60b.gif

元画像(sample6.jpg)


フェードイン(sample60a.jpg)


フェードアウト(sample60b.jpg)

Tuesday, January 16, 2007

ImageMagickで雪を描画する

ImageMagickで雪を描画するには、円をぼかして
重ね合わせます。

rem 環境によって変えてねset im=C:\Progra~1\ImageMagick-6.3.0-Q16
%im%\convert.exe -size 10x10 xc:none -draw "ellipse 5,5 3,3 0,360" -negate -channel A -blur 0x2 snow.png
%im%\convert.exe sample2bg.jpg ( snow.png -repage +10+10 ) ( snow.png -repage +80+20 ) ( snow.png -repage +20+75 ) ( snow.png -repage +80+80 ) ( snow.png -repage +60+60 ) ( snow.png -repage +15+50 ) -flatten sample50.png

元画像(sample2bg.jpg)


出力画像(sample50.png)

Monday, January 15, 2007

ImageMagickでアニメーションGIFを出力する

ImageMagickでアニメーションGIFを出力するには、
-set delay (n)と-loopオプションを使用します。
-set delayで次の画像を表示するまでの時間(1/100秒単位)を
指定し、-loopで繰り返し回数(0で無限ループ)を指定します。

サンプル:
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe sample4.jpg sample5.jpg sample6.jpg -set delay 100 -loop 0 sample59.gif

元画像(sample4.jpg)


元画像(sample5.jpg)


元画像(sample6.jpg)


出力画像(sample59.gif)


関連項目
RMagickでアニメーションGIFを作成する
JMagickでアニメーションGIFを出力する

Thursday, January 11, 2007

ImageMagickで写真を立てて重ねた表現を描画する

ImageMagickで写真を立てて重ねた表現を描画するには、
枠をつけた後(ここでは使用していませんが6.3.1で-polaroidオプションが追加されましたね)、
-shearで縦方向に傾けて+cloneで画像を複製することで描画できます。

rem 環境によって変えてねset im=C:\Progra~1\ImageMagick-6.3.0-Q16
%im%\convert.exe sample2bg.jpg -bordercolor #fbfaf7 -border 4x4 -bordercolor #918164 -border 1x1 -bordercolor none -border 20x20 -background none -shear 0x10 -repage +10-15 ( +clone -repage +0+0 ) ( +clone -repage -10+15 ) -background #eeeeff -flatten sample48.png

元画像(sample2bg.jpg)


出力画像(sample48.png)

Tuesday, January 09, 2007

ImageMagickで切手風に画像をきりとる

ImageMagickで切手風にぎざぎざで画像を切り取るには
三角形を描画後、-tileで複製してマスクを作成して
切り取ります。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.0-Q16
%im%\convert.exe -size 9x7 xc:none -matte -channel RGBA -fill #ffffffff -draw "polygon 0,0 4,6 8,0" down.png
%im%\convert.exe down.png -matte -channel RGBA -rotate -90 right.png
%im%\convert.exe -size 100x100 xc:none -matte -channel RGBA -tile down.png -draw "rectangle 0,0 100,6" -tile right.png -draw "rectangle 0,0 6,100" ( +clone -flip -flop ) -composite mask2.png
%im%\convert.exe -size 100x100 sample2bg.jpg mask2.png -background white -compose screen -composite sample47.jpg

元画像(sample2bg.jpg)


出力画像(sample47.jpg)