Saturday, November 17, 2007

ImageMagickでバンド状にグラデーションがかかった円を描画する

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

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.6-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?v.p{floor(sqrt((i-90)^2+(j-130)^2)/
10)*10/150,0}:#FFFF10FF" sample247a.png

出力画像(sample247a.png)


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

ImageMagickでバンド状のグラデーションを作成する

バンド状のグラデーションを作成するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.6-Q16
%im%\convert.exe -size 1x1 xc:#000000 xc:#BBDDFF -append -resize 1x10! -filter Point -resize 100x100! sample246a.png

出力画像(sample246a.png)


別のやり方。
%im%\convert.exe -size 100x100 xc:white ( -size 1x1 xc:#3070A0FF xc:#FFFF10FF -append -resize 1x2 ) -fx "v.p{0,floor(j/10)*10/h}" sample246b.png

出力画像(sample246b.png)


関連項目
ImageMagickとPHPで、バンド状グラデーションを描画する
JMagickでバンド状のグラデーションを描画する

Saturday, November 10, 2007

ImageMagickでchannel毎に位置をずらす

ImageMagickでchannel毎に位置をずらすには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.6-Q16
%im%\convert.exe sf.jpg -channel r -fx "p[-10,0]" -channel b -fx "p[+10,0]" -channel rgba sample245a.jpg

元画像(sf.jpg)


出力画像(sample245a.jpg)


白黒化してから、channel毎に位置をずらす場合は、以下のバッチファイルを実行します。
%im%\convert.exe sf.jpg -fx "(r+g+b)/3" -channel r -fx "p[-10,0]" -channel b -fx "p[+10,0]" -channel rgba sample245b.jpg

出力画像(sample245b.jpg)

Saturday, November 03, 2007

ImageMagickで、2値化して画像を切り取って白背景でぼかす

2値化して画像を切り取って白背景でぼかすには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.6-Q16
%im%\convert.exe sample5r.jpg -threshold 53000 -negate -matte -channel A -fx "p.r==1?1:0" -channel rgba sample5r.jpg -compose src_in -composite ( -size 100x100 xc:white ) +swap -composite -blur 0x2 sample243a.png

元画像(sample243a.png)


出力画像(sample243a.png)


関連項目
ImageMagickで二値化して大きめに選択した領域をぼかして切り取り
ImageMagickで画像の2値化切り取りと重ねあわせ処理する
ImageMagickで閾値を使用して切り取った画像に影付けする

ImageMagickで文字ごとに背景色が異なる文字列を描画する

文字ごとに背景色が異なる文字列を描画するには、以下のWSHスクリプトを実行します。

wb-letters.vbs
-----------------
Set im = CreateObject("ImageMagickObject.MagickImage.1")
rem 出力文字列(英文字のみ)
message_string = "ImageMagick"

color1="#ffffff"
color2="#000000"

For wl=1 to Len(message_string)
ch = Mid(message_string,wl,1)
If (wl mod 2) = 0 then
current1 = color1
current2 = color2
else
current1 = color2
current2 = color1
end if

im.Convert "-size", "20x20", "xc:" & current1, "-fill", current2, _
"-font", "Tahoma-Bold", "-gravity", "center", "-draw", _
"font-size 15 text 0,0 '" & ch & "'", "t" & wl & ".png"

if wl = 1 then
im.Convert "t1.png", "output.png"
else
im.Convert "output.png", "t" & wl & ".png", "+append", "output.png"
end if

Next

Set im = Nothing
-----------------

cscript.exe wb-letters.vbs

出力画像(output.png)

Sunday, October 28, 2007

ImageMagickで、画像をずらしてタイル配置する

画像をずらしてタイル配置するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.6-Q16
%im%\convert.exe flower1.png -roll +0+10 flower1.png +append t1.png
%im%\convert.exe -size 200x200 tile:t1.png sample244a.png

元画像(flower1.png)


出力画像(sample244a.png)


以下のバッチファイルでも上の出力画像と同様の結果が得られます。

rem メモリを利用して一時的なイメージを保存、タイル描画
%im%\convert.exe flower1.png -roll +0+10 flower1.png +append -write mpr:t1 +delete -size 200x200 tile:mpr:t1 sample244a.png

Saturday, October 27, 2007

ImageMagickで、縁取りつきの角丸四角で画像を切り取る

縁取りつきの角丸四角で画像を切り取るには、以下のバッチファイルを実行します。

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

%im%\convert.exe -size 200x200 xc:none -draw "roundrectangle 4,4 195,195 20,20" sf.jpg -compose srcin -composite ( -size 200x200 xc:none -fill white -stroke #D0D0D0 -draw "roundrectangle 0,0 199,199 20,20" ) +swap -composite sample242a.png

上記のバッチでは、角丸四角で切り取り後、枠付き角丸四角と合成しています。

元画像(sf.jpg)


出力画像(sample242a.png:黒い部分は透過になります)


関連項目
ImageMagickで画像の四隅を丸く切り取る 方法
ImageMagickで画像を角丸四角に切り取って端折処理する
ImageMagickで角丸四角画像の端をグラデーションで塗る
ImageMagickで画像に立体的な枠をつける
ImageMagickで画像に立体的な角丸四角の枠をつける

Saturday, October 20, 2007

ImageMagickで花のような画像を生成する

花のような画像を生成するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.6-Q16
%im%\convert.exe -size 100x40 xc:white -fx "38*sin(pi*((i+10)%%20)/20)>=j?#FFFFFF:#F8C749" -virtual-pixel white
-distort arc 360 +repage sample241a.png

出力画像(sample241a.png)


%im%\convert.exe -size 100x40 xc:white -fx "38-38*sin(pi*(i%%20)/20)<j?#F8C749:#FFFFFF" -virtual-pixel white -distort arc 360 +repage sample241b.png

出力画像(sample241b.png)

Saturday, October 13, 2007

ImageMagickで台形変形を行う

台形変形を行うには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.6-Q16
rem 右台形
%im%\convert.exe sf.jpg -matte -virtual-pixel transparent -distort Perspective "0,0 0,0 0,200 0,200 200,200 200,180 200,0 200,20" sample240a.png
-distortオプションでPerspectiveを指定して変換前後の4点の座標を指定します。

元画像(sf.jpg)


出力画像(sample240a.png)


rem 左台形
%im%\convert.exe sf.jpg -matte -virtual-pixel transparent -distort Perspective "0,0 0,20 0,200 0,180 200,200 200,200 200,0 200,0" sample240b.png

出力画像(sample240b.png)


rem 上台形
%im%\convert.exe sf.jpg -matte -virtual-pixel transparent -distort Perspective "0,0 20,0 0,200 0,200 200,200 200,200 200,0 180,0" sample240c.png

出力画像(sample240c.png)


rem 下台形
%im%\convert.exe sf.jpg -matte -virtual-pixel transparent -distort Perspective "0,0 0,0 0,200 20,200 200,200 180,200 200,0 200,0" sample240d.png

出力画像(sample240d.png)


関連項目
RMagickで画像を台形変形させる
ImageMagickで画像を三角形・台形に変形する

ImageMagickで任意の大きさの楕円の背景画像を生成する

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

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 120x100 xc:none -fx "(i%%40-20)^2/19^2+(j%%20-10)^2/9^2<=1?
#F8C749FF:#FFFFFFFF" sample238a.jpg

出力画像(sample238a.jpg)

Monday, October 08, 2007

ImageMagickでcharcoal処理した画像にグラデーションをかける

charcoal処理した画像にグラデーションをかけるには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.6-Q16
%im%\convert.exe sf.jpg -enhance -enhance -charcoal 1 -contrast -matte -channel a -fx "r" -channel rgba ( -size 200x200 gradient:#F8C749-#BBDDFF ) +swap -composite sample239.jpg

元画像(sf.jpg)


出力画像(sample239.jpg)


関連項目
Rmagickで画像を木炭画調に変換してグラデーションを適用する (RMagickでの同様の処理)

Saturday, October 06, 2007

ImageMagickで交互に円が配置された水玉模様を描画する

交互に円が配置された水玉模様を描画するには、
以下のバッチファイルを実行します。

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

出力画像(sample237a.jpg)


関連項目
ImageMagickでだんだん小さくなっていく水玉模様を描画する
ImageMagickで任意の大きさの水玉模様を描画する
ImageMagickで、グラデーションのかかった水玉模様を描画する

Thursday, October 04, 2007

ImageMagickで三角の背景画像を生成する

三角の背景画像を生成するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 100x100 xc:none -fx "i%%20>=j%%10&&20-j%%10>=i%%20?#CABFAB:#FFFFFF" sample236a.jpg

出力画像(sample236a.jpg)


10ピクセルごとに描画位置をずらすと、以下のような画像になります。
%im%\convert.exe -size 100x100 xc:none -fx "(i+(floor(j/10)%%2)*10)%%20>=j%%10&&20-j%%10>=(i+(floor(j/10)%%2)*10)%%20?#CABFAB:#FFFFFF" sample236b.jpg

出力画像(sample236.jpg)


関連項目
ImageMagickで三角模様の背景画像を作成する

Tuesday, October 02, 2007

ImageMagickで画像にレンガ模様を重ね合わせる

画像にレンガ模様を重ね合わせるには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 200x200 xc:none -fx "(i+(floor(j/20)%%2)*8)%%30>1&&(i+(floor(j/20)%%2)*8)%%30<29&&
j%%20>1&&j%%20<19?0:1" -shade -45x23 sample235a.png
%im%\convert.exe sf.jpg -channel rgba ( sample235a.png -matte -channel a -fx "0.3" -channel rgba ) -composite sample235b.png


元画像(sf.jpg)


出力画像(sample235b.png)


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

Sunday, September 30, 2007

ImageMagickで写真からイラスト調の画像を生成する

写真からイラスト調の画像を生成するには、以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe sf.jpg -enhance -enhance -shade 135x23 -edge 1 -negate -channel rgba ( sf.jpg -blur 0x8 -matte -channel a -fx "0.7" -channel rgba ) -composite sample234a.png

元画像(sf.jpg)


線画にぼんやりとした感じの色が着色された感じのイラスト風の画像になります。
出力画像(sample243a.png)


%im%\convert.exe sample8.jpg -enhance -shade 135x23 -edge 1 -negate -channel rgba ( sample8.jpg -blur 0x5 -matte -channel a -fx "0.8" -channel rgba ) -composite sample234b.png

元画像(sample8.jpg)


出力画像(sample234b.png)

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)