Saturday, September 29, 2007

ImageMagickでレンガ模様の背景画像を生成する。

任意の大きさのレンガ模様の背景画像を生成するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 100x100 xc:none -fx "(i+(floor(j/10)%%2)*8)%%20>1&&(i+(floor(j/10)%%2)*8)%%20<19&&
j%%10>1&&j%%10<9?#CABFAB:#FFFFFF" sample233b.jpg

出力画像(sample233b.jpg)


関連項目
ImageMagickで任意の大きさのタイル模様を作成する
ImageMagickで画像にレンガ模様を重ね合わせる

Friday, September 28, 2007

ImageMagickで、グラデーションのかかった水玉模様を描画する

グラデーションのかかった水玉模様を描画するには、以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 100x100 xc:none -channel rgba ( -size 1x1 xc:#FFFFFFFF xc:#BBDDFFFF +append -resize 2x1 ) -fx "(i%%20-10)^2+(j%%20-10)^2<=8^2?v.p{sqrt((i%%20-10)^2+(j%%20-10)^2)/8,0}:#4070A0" sample232a.jpg

出力画像(sample232a.jpg)


関連項目
ImageMagickでだんだん小さくなっていく水玉模様を描画する
ImageMagickで任意の大きさの水玉模様を描画する
ImageMagickで交互に円が配置された水玉模様を描画する

Thursday, September 27, 2007

ImageMagickで、花形に画像を切り取る

花形に画像を切り取るには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 200x200 xc:none -channel rgba -fx "(100-i)^2+(100-j)^2)<=(80+sin(atan2(100-i,100-j)*16)*20)^2?1:0" sf.jpg -compose srcin -composite sample231a.png

上記の例では座標100,100を中心に、半径80+-20ピクセルの花形で画像を切り取っています。

元画像(sf.jpg)


出力画像(sample231a.png)


関連項目
ImageMagickで、半径が波型に変化する円を描画する

Wednesday, September 26, 2007

ImageMagickで、任意の大きさのぎざぎざ模様を描画する

任意の大きさのぎざぎざ模様を描画するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 100x100 xc:none -channel rgba -fx "i%%10<=4&&(i+j)%%10>6?#C0C0C0FF:#00000000" ( -size 100x100 xc:none -fx "i%%10>=5&&(200+j-i)%%10>6?#C0C0C0FF:#00000000" ) -composite sample230a.png

出力画像(sample230a.png)


%im%\convert.exe -size 100x100 xc:none -channel rgba -fx "j%%10<=4&&(i+j)%%10>6?#C0C0C0FF:#00000000" ( -size 100x100 xc:none -fx "j%%10>=5&&(200+j-i-(10/2-1))%%10>6?#C0C0C0FF:#00000000" ) -composite sample230b.png

出力画像(sample230b.png)

Monday, September 24, 2007

ImageMagickで、グラデーションのかかった同心円を描画する

グラデーションのかかった同心円を描画するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 200x200 xc:none -channel rgba ( -size 1x1 xc:#3070A0FF xc:#FFFF10FF +append -resize 2x1 ) -fx "(i-90)^2+(j-130)^2<=150^2&&floor(sqrt((i-90)^2+(j-130)^2))%%10>5?
v.p{floor(sqrt((i-90)^2+(j-130)^2)/10)*10/150,0}:#00000000" sample229a.png

上の例では、中心90,130から最大半径150ピクセル、10ピクセルごとに4ピクセルの厚さの同心円を描画しています。

出力画像(sample229a.png)


関連項目
ImageMagickで透明なラインが入った円を描画する
ImageMagickでバンド状にグラデーションがかかった円を描画する

Saturday, September 22, 2007

ImageMagickで画像の上下を波型にして透明にする

画像の上下を波型にして切り取るには、以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe sf.jpg -matte -channel a -fx "j>=(sin(i/w*pi*5)*10+10)&&j<(h-10+sin(i/w*pi*5)*10)?1:0" -channel rgba sample228a.png

上記の例では20ピクセルの高さの波型をつけています。

元画像(sf.jpg)


出力画像(sample228a.png)

Friday, September 21, 2007

ImageMagickで、半径が波型に変化する円を描画する

ImageMagickで、半径が波型に変化する円を描画するには、
以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 200x200 xc:none -channel rgba -fx "(130-i)^2+(80-j)^2)<=(50+sin(atan2(130-i,80-j)*16)*5)^2?
#3070A0FF:#FFFFFF00" sample227a.png
上記バッチでは、中心130,80で半径50+-10ピクセルの円を描画しています。

出力画像(sample227a.png)


下の例では中心60,150で、半径50+-20ピクセルの円を描画しています。
円というより、花っぽい形になりますね。
%im%\convert.exe -size 200x200 xc:none -channel rgba -fx "(60-i)^2+(150-j)^2)<=(50+sin(atan2(60-i,150-j)*16)*20)^2?
#F8C749FF:#FFFFFF00" sample227b.png

出力画像(sample227b.png)


関連項目
ImageMagickで、花形に画像を切り取る
ImageMagickで、花模様が回転するGIFアニメーションを生成する

Thursday, September 20, 2007

ImageMagickで、画像の端をぎざぎざに切り取る

画像の端をぎざぎざに切り取るには、以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe sf.jpg -matte -channel a -fx "j%%10<=4&&i>j%%10&&i<(w-j%%10)?1:0" ( sf.jpg -matte -channel a -fx "j%%10>4&&i>10-j%%10&&i<(w-(10-j%%10))?1:0" ) -composite -channel rgba sample226a.png

上記のバッチでは、幅10ピクセルのぎざぎざを入れています。

元画像(sf.jpg)


出力画像(sample226a.png)

Tuesday, September 18, 2007

ImageMagickで、分割されたリングを描画する

分割されたリングを描画するには、以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 200x200 xc:none -channel rgba -fx "dr=sqrt((i-100)^2+(j-100)^2); floor((atan2(100-i,100-j)+pi/2)/(pi/3))%%2==0&&dr>=30&&dr<=70?
#CABFABFF:#00000000" sample225a.png

上記のバッチでは、中心(100,100)の座標から半径30ピクセルから70ピクセルのリングを
6分割して 交互に描画しています。

出力画像(sample225a.jpg)

Monday, September 17, 2007

ImageMagickで画像の緑っぽい部分を彩度を上げて、それ以外の色の部分の彩度を下げる

画像の緑っぽい部分を彩度を上げて、それ以外の色の部分の彩度を下げるには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe sample8.jpg -matte -channel a -fx "(hue>0.19&&hue<0.47&&intensity<0.93)?1:0" -channel RGB -modulate 100,180 ( sample8.jpg -modulate 100,40 ) +swap -composite sample224.jpg

元画像(sample8.jpg)


出力画像(sample224.jpg)


関連項目
ImageMagickで青色っぽい部分の彩度を上げる・下げる

Sunday, September 16, 2007

ImageMagickで1ピクセルのラインごとにモーションブラーをかける

1ピクセルのラインごとにモーションブラーをかけるには、
以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe sample8.jpg -matte -channel a -fx "j%%2==0?1:0" -channel RGBA ( sample8.jpg -motion-blur 0x5+180 ) +swap -composite sample223.jpg

(なんか6.3.5.7あたりから、いきなり-channel aでは駄目で-matteを使用しなくては
ならないように変わってる?-alphaの影響・・・?)

元画像(sample8.jpg)


出力画像(sample223.jpg)

Friday, September 14, 2007

ImageMagickで透明なラインが入った円を描画する

同心円の透明なラインが入った円を描画するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 200x200 xc:none -channel rgba -fx "(i-90)^2+(j-130)^2<=70^2&&floor(sqrt((i-90)^2+(j-130)^2))%%4>1?#C9BFAAFF:#00000000" sample222a.png

出力画像(sample222a.png)


rem 重ねあわせ例
%im%\convert.exe sf.jpg sample222a.png -composite sample222b.jpg

重ね合わせ例(sample222b.jpg)


関連項目
ImageMagickで、グラデーションのかかった同心円を描画する

Thursday, September 13, 2007

ImageMagickでだんだん小さくなっていく水玉模様を描画する

ImageMagickでだんだん小さくなっていく水玉模様を描画するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 200x200 xc:none -fx "(i%%20-10)^2+(j%%20-10)^2<=(8-floor(i/20)*0.6)^2?#7090E0:#E0E0F0"
sample221a.jpg

出力画像(sample221a.jpg)


関連項目
ImageMagickで、グラデーションのかかった水玉模様を描画する

ImageMagickで半透明グラデーションの放射ストライプを描画する

ImageMagickで半透明グラデーションの放射ストライプを描画するには、以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 200x200 xc:white -channel rgb -fx "floor((atan2(50-i,170-j)+2*pi)/(pi/24))%%2==0?#F8C749:#FCE769" -channel a -fx "0.5-sqrt((50-i)^2+(170-j)^2)/200" -channel rgba sample218a.png

rem 重ねあわせ例
%im%\convert.exe sf.jpg sample218a.png -composite samples218b.jpg

出力画像(sample218a.png)


重ねあわせ例(sample218b.jpg)


2008/01/04追記
ver6.3.7では、以下のように-matteを追加します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe -size 200x200 xc:white -channel rgb -fx "floor((atan2(50-i,170-j)+2*pi)/(pi/24))%%2==0?#F8C749:#FCE769" -matte -channel a -fx "0.5-sqrt((50-i)^2+(170-j)^2)/200" -channel rgba sample218a.png
rem 重ねあわせ例
%im%\convert.exe sf.jpg sample218a.png -composite samples218b.jpg

Wednesday, September 12, 2007

ImageMagickで半透明の放射ストライプを画像に重ねあわせる

ImageMagickで半透明の放射ストライプを画像に重ねあわせるには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe sf.jpg ( -size 200x200 xc:none -channel rgba -fx "floor((atan2(100-i,170-j)+2*pi)/(pi/24))%%2==0?#7090E050:#00000000" ) -composite sample219a.jpg

元画像(sf.jpg)


出力画像(sample219a.jpg)


関連項目
ImageMagickで半透明グラデーションの放射ストライプを描画する

Monday, September 10, 2007

ImageMagickで任意の位置を中心とした放射ストライプを描画する

ImageMagickで任意の位置を中心とした放射ストライプを描画するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 200x200 xc:white -fx "floor((atan2(50-i,170-j)+2*pi)/(pi/24))%%2==0?#F8C749:#FCE769" sample218a.png
上の例では7.5度ごとに2色のストライプを描画します。

出力画像(sample218a.png)


下の例では30度ごとに2色のストライプを描画します。
%im%\convert.exe -size 200x200 xc:white -fx "floor((atan2(100-i,100-j)+2*pi)/(pi/6))%%2==0?#808080:#D0D0D0" sample218b.png

出力画像(sample218b.jpg)


関連項目
ImageMagickで半透明グラデーションの放射ストライプを描画する

ImageMagickで円状に透明スリットが広がるように加工する

ImageMagickで円状に透明スリットが広がるように加工するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 200x200 xc:none sf.jpg -channel rgba -fx "dp=sqrt((120-i)^2+(150-j)^2); dp<20||(dp-20)%%15>floor((dp-20)/15)?v.p:#00000000" sample217a.png

元画像(sf.jpg)


出力画像(sample217a.png)


2008/01/04追記
ver6.3.7では、以下のように-matteを追加します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe -size 200x200 xc:none sf.jpg -matte -channel rgba -fx "dp=sqrt((120-i)^2+(150-j)^2); dp<20||(dp-20)%%15>floor((dp-20)/15)?v.p:#00000000" sample217a.png

Friday, September 07, 2007

ImageMagickで透明なスリットが徐々に広くなっていく加工をする

ImageMagickで透明なスリットが徐々に広くなっていく加工をするには、
以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 200x200 xc:none sf.jpg -channel rgba -fx "j<h/3||(j-h/3)%%15>floor((j-h/3)/15)?v.p:#00000000" sample216a.png
上記では、画面の1/3の高さから徐々にスリットが広がるようになっています。

元画像(sf.jpg)


出力画像(sample216a.png)


2008/01/04追記
ver6.3.7では、以下のように-matteを追加します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe -size 200x200 xc:none sf.jpg -matte -channel rgba -fx "j<h/3||(j-h/3)%%15>floor((j-h/3)/15)?v.p:#00000000" sample216a.png


関連項目
ImageMagickで円状に透明スリットが広がるように加工する

ImageMagickで透明なスリットの入ったグラデーションの角丸四角を描画する

ImageMagickで透明なスリットの入ったグラデーションの角丸四角を描画するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
rem 1ピクセルごとに透過ライン
%im%\convert.exe -size 150x150 xc:none -fill gradient:#7090E0-#F8C749 -draw "roundrectangle 0,0 149,149 15,15" -channel rgba -fx "j%%2==0?p:#00000000" sample215a.png

出力画像(sample215a.png)


rem 重ねあわせ例
%im%\convert.exe sf.jpg sample215a.png -geometry +25+25 -composite sample215b.jpg

重ねあわせ例(sample215b.jpg)


rem 2ピクセルごとに2ピクセルの透過ライン
%im%\convert.exe -size 150x150 xc:none -fill gradient:#7090E0-#F8C749 -draw "roundrectangle 0,0 149,149 15,15" -channel rgba -fx "j%%4>1?p:#00000000" sample215c.png

出力画像(sample215c.png)

Thursday, September 06, 2007

ImageMagickで任意の大きさの十字柄の背景画像を作成する

ImageMagickで任意の大きさの十字柄の背景画像を作成するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 100x100 xc:none -fx "gw=20; gh=20; lw=10; lh=10; spx=(gw-lw)/2; epx=lw+spx; spy=(gh-lh)/2; epy=lh+spy; ((i%%gw>=spx)&&amp;amp;(i%%gw<=epx)&&(j%%gh==floor(gh/2)))||((j%%gh>=spy)&&amp;amp;(j%%gh<=epy)&&(i%%gw==floor(gw/2)))?#2060D4:#FFFFF0" sample214a.jpg

出力画像(sample214a.jpg)