Saturday, August 25, 2007

ImageMagickで斜めドットのモザイクをかける

ImageMagickで斜めドットのモザイクをかけるには、
以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 150x150 xc:none -channel RGBA ( sample4.jpg -resize 10x10 -rotate 45 ) -fx "v.p{ceil((i+1)/10)-1,ceil((j+1)/10)-1}" -rotate -45 -gravity center -crop 90x90+0+0 sample202a.png
上記バッチでは45度回転後、モザイクをかけ、再び45度回転させて周囲を取り除くため
切り抜いています。

元画像(sample4.jpg)


出力画像(sample202a.png)


5x5ピクセルの斜めドットでモザイクをかけるには、以下のバッチを実行します。
飾りガラスで透かして見たような感じになります。
%im%\convert.exe -size 300x300 xc:none -channel RGBA ( sf.jpg -resize 40x40 -rotate 45 ) -fx "v.p{ceil((i+1)/5)-1,ceil((j+1)/5)-1}" -rotate -45 -gravity center -crop 180x180-10-10 sample202b.png

元画像(sf.jpg)


出力画像(sample202b.png)

Friday, August 24, 2007

ImageMagickで雨が降っているような加工をする

ImageMagickで雨が降っているような加工をするには、以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
rem スケッチ処理+白黒化
%im%\convert.exe sf.jpg -modulate 90,150 -sketch 0x30+60 -modulate 70,150 -fx "(r+g+b)/3" sample201a.jpg
rem 空の部分以外を若干青めにして、ぼかしをかけて湿気を表現
%im%\convert.exe sf.jpg -channel a -fx "(hue>0.47&&amp;hue<0.69&&luminosity>0.5)?0:0.4" -channel r -fx "0.7*0" -channel g -fx "0.7*p" -channel b -fx "0.8*p" -channel rgba -blur 0x2 sample201b.png
rem 重ね合わせ
%im%\convert.exe sf.jpg -modulate 100,60 -channel rgba sample201b.png -composite ( sample201a.jpg -channel a -fx "0.4" -channel rgba ) -composite sample201c.jpg

元画像(sf.jpg)


中間画像(sample201a.jpg):斜線が付いた昔の書籍の白黒写真風になります。


中間画像(sample201b.png):青空以外の部分を切り取って、青みを増させ、ぼかします。


出力画像(sample201c.jpg):元画像の彩度を落とした画像+上の2つの画像を
重ね合わせた画像です。


2008/01/04追記
ver6.3.7では、以下のバッチのように-matteを追加します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
rem %im%\convert.exe sf.jpg -modulate 90,150 -sketch 0x30+60 -modulate 70,150 -fx "(r+g+b)/3" sample201a.jpg
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?0:0.4" -channel r -fx "0.7*0" -channel g -fx "0.7*p" -channel b -fx "0.8*p" -channel rgba -blur 0x2 sample201b.png
%im%\convert.exe sf.jpg -modulate 100,60 -matte -channel rgba sample201b.png -composite ( sample201a.jpg -matte -channel a -fx "0.4" -channel rgba ) -composite sample201c.jpg

2008/07/13追記
ver6.4.0あたりからluminosityからlightnessに変わったので、以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.2-Q16
%im%\convert.exe sf.jpg -modulate 90,150 -sketch 0x30+60 -modulate 70,150 -fx "(r+g+b)/3" sample201a.jpg
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&lightness>0.5)?0:0.4" -channel r -fx "0.7*0" -channel g -fx "0.7*p" -channel b -fx "0.8*p" -channel rgba -blur 0x2 sample201b.png
%im%\convert.exe sf.jpg -modulate 100,60 -matte -channel rgba sample201b.png -composite ( sample201a.jpg -matte -channel a -fx "0.4" -channel rgba ) -composite sample201c.jpg


関連項目
ImageMagickで徐々に画像がスケッチ調になるように加工する

Thursday, August 23, 2007

ImageMagickで逆光で暗くなった部分(青色部分以外)を明るくする

ImageMagickで逆光で暗くなった部分(青色部分以外)を明るくするには、
以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe tree1.jpg -channel a -fx "(hue>0.47&&amp;hue<0.69&&luminosity>0.5)?0:1" -channel rgb -fx "(hue>0.47&&amp;hue<0.69&&luminosity>0.3)?0:p*2" tree1.jpg +swap -composite sample198a.jpg

上記のバッチでは、青色部分以外のところのピクセル値を2倍にしています。

元画像(tree1.jpg)


出力画像(sample198a.jpg)


2008/01/04追記
ver6.3.7では、以下のバッチのように-matteを追加します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe tree1.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?0:1" -channel rgb -fx "(hue>0.47&&hue<0.69&&luminosity>0.3)?0:p*2" tree1.jpg +swap -composite sample198a.jpg

2008/07/13追記
ver6.4.0あたりからluminosityからlightnessに変わったので、以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.2-Q16
%im%\convert.exe tree1.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&lightness>0.5)?0:1" -channel rgb -fx "(hue>0.47&&hue<0.69&&lightness>0.3)?0:p*2" tree1.jpg +swap -composite sample198a.jpg

関連項目
ImageMagickで逆光で暗くなった部分(青色部分以外)を明るくする - その2

Wednesday, August 22, 2007

ImageMagickで青色っぽい部分以外をスケッチ調に変換する

ImageMagickで青色っぽい部分以外をスケッチ調に変換するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe sf.jpg -channel a -fx "(hue>0.47&&amp;hue<0.69&&luminosity>0.5)?1:0" -channel rgba ( sf.jpg -sketch 0x10+60 ) +swap -composite sample197a.jpg

元画像(sf.jpg)


出力画像(sample197a.jpg)


2008/01/04追記
ver6.3.7では、以下のバッチのように-matteを追加します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?1:0" -channel rgba ( sf.jpg -sketch 0x10+60 ) +swap -composite sample197a.jpg

2008/07/13追記
ver6.4.0あたりからluminosityからlightnessに変わったので、以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.2-Q16
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&lightness>0.4)?1:0" -channel rgba ( sf.jpg -sketch 0x10+60 ) +swap -composite sample197a.jpg


関連項目
ImageMagickで徐々に画像がスケッチ調になるように加工する

Tuesday, August 21, 2007

ImageMagickで任意の大きさのタイル模様を作成する

ImageMagickで任意の大きさのタイル模様を作成するには、
以下のバッチを実行します。

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

出力画像(sample196a.jpg)


%im%\convert.exe -size 100x100 xc:none -fx "i%%20>1&&i%%20<19&&j%%10>1&&j%%10<9?#918164:#FFFFFF" sample196b.jpg
サイズを変更するには、横幅ならi、縦幅ならjの条件を変更します。

出力画像(sample196b.jpg)


関連項目
ImageMagickでレンガ模様の背景画像を生成する。
ImageMagickで任意の大きさのタイル模様を作成する - その2 (高速版)

Monday, August 20, 2007

ImageMagickで青色っぽい部分だけ他の画像と半透明に重ねあわせる

ImageMagickで青色っぽい部分だけ他の画像と半透明に重ねあわせるには、
以下のバッチファイルを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe sf.jpg -channel a -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?0.5:1" -channel rgba sample10c.jpg +swap -composite sample195a.jpg

元画像(sf.jpg)


重ねあわせ画像(sample10c.jpg)


半透明にして重ね合わせた結果(sample195a.jpg)


半透明グラデーションにする場合は、以下のコマンドを実行します。
%im%\convert.exe sf.jpg -channel a -fx "aval=j/h; (hue>0.47&&hue<0.69&&luminosity>0.5)?aval:1" -channel rgba sample10c.jpg +swap -composite sample195b.jpg

半透明グラデーションにして重ね合わせた結果(sample195b.jpg)


2008/01/04追記
ver6.3.7では、以下のバッチのように-matteを追加します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?0.5:1" -channel rgba sample10c.jpg +swap -composite sample195a.jpg
%im%\convert.exe sf.jpg -matte -channel a -fx "aval=j/h; (hue>0.47&&hue<0.69&&luminosity>0.5)?aval:1" -channel rgba sample10c.jpg +swap -composite sample195b.jpg

2008/07/13追記
ver6.4.0あたりからluminosityからlightnessに変わったので、以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.2-Q16
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&lightness>0.4)?0.5:1" -channel rgba sample10c.jpg +swap -composite sample195a.jpg
%im%\convert.exe sf.jpg -matte -channel a -fx "aval=j/h; (hue>0.47&&hue<0.69&&lightness>0.4)?aval:1" -channel rgba sample10c.jpg +swap -composite sample195b.jpg

Sunday, August 19, 2007

ImageMagickで青色っぽい部分以外をマスクして画像を合成する

ImageMagickで青色っぽい部分以外をマスクして画像を合成するには、
以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe sf.jpg -channel a -fx "(hue>0.47&&amp;hue<0.69&&luminosity>0.5)?0:1" -channel rgba ( sf.jpg sample128a.png -geometry -90+50 -composite ) +swap -composite sample193a.jpg
上記バッチでは、元画像と雲の画像をあわせた画像の上に、
空の部分を透明にして合成しています。

元画像(sf.jpg)


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


出力画像(sample193a.jpg)


2008/01/04追記
ver6.3.7では、以下のバッチのように-matteを追加します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?0:1" -channel rgba ( sf.jpg sample128a.png -geometry -90+50 -composite ) +swap -composite sample193a.jpg

2008/07/13追記
ver6.4.0あたりからluminosityからlightnessに変わったので、以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.2-Q16
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&lightness>0.4)?0:1" -channel rgba ( sf.jpg sample128a.png -geometry -90+50 -composite ) +swap -composite sample193a.jpg

Friday, August 17, 2007

ImageMagickで青色っぽい部分の明るさを変更する

ImageMagickで青色っぽい部分の明るさを変更するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe sf.jpg -channel a -fx "(hue>0.47&&amp;hue<0.69&&luminosity>0.5)?1:0" -channel rgba -modulate 150 sf.jpg +swap -composite sample193a.jpg

元画像(sf.jpg)


青い部分だけが明るくなった画像が生成されます。
出力画像(sample193a.jpg)


青色っぽい部分を暗くする場合は、以下のバッチを実行します。
%im%\convert.exe sf.jpg -channel a -fx "(hue>0.47&&amp;hue<0.69&&luminosity>0.5)?1:0" -channel rgba -modulate 70 sf.jpg +swap -composite sample193b.jpg

出力画像(sample193b.jpg)


2008/01/04追記
ver6.3.7では、以下のバッチファイルのように-matteを追加します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?1:0" -channel rgba -modulate 150 sf.jpg +swap -composite sample193a.jpg
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?1:0" -channel rgba -modulate 70 sf.jpg +swap -composite sample193b.jpg

2008/07/13追記
ver6.4.0あたりからluminosityからlightnessに変わったので、以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.2-Q16
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&lightness>0.4)?1:0" -channel rgba -modulate 150 sf.jpg +swap -composite sample193a.jpg
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&lightness>0.4)?1:0" -channel rgba -modulate 70 sf.jpg +swap -composite sample193b.jpg

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

ImageMagickで青色っぽい部分の彩度を上げる・下げるには、
以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe sf.jpg -channel a -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?1:0" -channel rgba -modulate 100,150 sf.jpg +swap -composite sample192a.jpg

元画像(sf.jpg)


出力画像(sample192a.jpg):青空がより青くなって澄んだ感じに。


彩度を下げると、湿気のあるような空の色になります。
%im%\convert.exe sf.jpg -channel a -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?1:0" -channel rgba -modulate 100,30 sf.jpg +swap -composite sample192b.jpg

出力画像(sample192b.jpg)


2008/01/04追記
ver6.3.7では、以下のバッチファイルのように-matteを追加します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?1:0" -channel rgba -modulate 100,150 sf.jpg +swap -composite sample192a.jpg
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?1:0" -channel rgba -modulate 100,30 sf.jpg +swap -composite sample192b.jpg

2008/07/13追記
ver6.4.0あたりからluminosityからlightnessに変わったので、以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.2-Q16
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&lightness>0.4)?1:0" -channel rgba -modulate 100,150 sf.jpg +swap -composite sample192a.jpg
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&lightness>0.4)?1:0" -channel rgba -modulate 100,30 sf.jpg +swap -composite sample192b.jpg

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

ImageMagickで青空を夕日にかえる

ImageMagickで青空を夕日に変える(青色っぽい部分を赤茶けた色に変換)には
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe sf.jpg -channel a -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?1:0" -channel rgba -modulate 100,100,10 sf.jpg +swap -composite sample191a.jpg

元画像(sf.jpg)


出力画像(sample191a.jpg)


2008/01/04追記
Ver6.3.7では、以下のバッチファイルのように-matteを追加します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?1:0" -channel rgba -modulate 100,100,10 sf.jpg +swap -composite sample191a.jpg

2008/07/13追記
ver6.4.0あたりからluminosityからlightnessに変わったので、以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.2-Q16
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&lightness>0.4)?1:0" -channel rgba -modulate 100,100,10 sf.jpg +swap -composite sample191a.jpg

Wednesday, August 15, 2007

ImageMagickで青色部分・青色以外の部分をぼかす

ImageMagickで青色部分・青色以外の部分をぼかすには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
rem 青空をぼかす
%im%\convert.exe sf.jpg -channel a -fx "(hue>0.47&&amp;hue<0.69&&luminosity>0.6)?1:0" -channel rgba -blur 0x2 sf.jpg +swap -composite sample190a.jpg
rem 青空以外をぼかす
%im%\convert.exe sf.jpg -channel a -fx "(hue>0.47&&amp;hue<0.69&&luminosity>0.6)?0:1" -channel rgba -blur 0x2 sf.jpg +swap -composite sample190b.jpg

元画像(sf.jpg)


出力画像(sample190a.jpg)


出力画像(sample190b.jpg)


2008/01/04追記
ver6.3.7では、-matteオプションを追加します。

2008/07/13追記
ver6.4.0あたりからluminosityからlightnessに変わったので、以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.2-Q16
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&lightness>0.6)?1:0" -channel rgba -blur 0x2 sf.jpg +swap -composite sample190a.jpg
%im%\convert.exe sf.jpg -matte -channel a -fx "(hue>0.47&&hue<0.69&&lightness>0.6)?0:1" -channel rgba -blur 0x2 sf.jpg +swap -composite sample190b.jpg

関連項目
ImageMagickで青っぽい部分以外が上下に揺れたような加工をする

ImageMagickで上下・左右に半透明グラデーションをかける

ImageMagickで上下・左右に半透明グラデーションをかけるには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
rem 上下半透明グラデーション
%im%\convert.exe -size 100x100 xc:none ( xc:#5070E030 xc:#d0a03040 +append -resize 2x1 ) -channel rgba -fx "v.p{(1-sin(pi*j/h)),1}" sample6.jpg +swap -composite sample189a.jpg
rem 左右半透明グラデーション
%im%\convert.exe -size 100x100 xc:none ( xc:#f9b4a450 xc:#7090F030 +append -resize 2x1 ) -channel rgba -fx "v.p{(1-sin(pi*i/w)),1}" sample6.jpg +swap -composite sample189b.jpg

元画像(sample6.jpg)


出力画像(sample189a.jpg)


出力画像(sample189b.jpg)


関連項目
ImageMagickで画像に半透明グラデーションをかける

Sunday, August 12, 2007

ImageMagickで半透明の青いぼかしを重ね合わせる

ImageMagickで半透明の青いぼかしを重ね合わせるには、
以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe sample8.jpg ( sample8.jpg -threshold 53000 -negate -channel r -fx "0.2" -channel g -fx "0.2" -channel a -fx "p.b==0?0:0.5" -channel rgba -blur 0x4 ) -composite sample188a.jpg

元画像(sample8.jpg)


出力画像(sample188a.jpg)

Saturday, August 11, 2007

ImageMagickで角丸四角で修飾された文字列を描画する

ImageMagickで角丸四角で修飾された文字列を描画するには、
以下のVBSをcscript.exe(WSH)で実行します。

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

For wl=1 to Len(message_string)
ch = Mid(message_string,wl,1)
If (wl mod 2) = 0 then
rt = "-15"
else
rt = "15"
end if

im.Convert "-size", "20x20", "xc:none", "-fill", "#c0b49d", "-draw", "roundrectangle 0,0,19,19,5,5", "-font", "Tahoma-Bold", "-gravity", "center", "-fill", "white", "-draw", "font-size 15 text 0,0 '" & ch &amp; "'", "-rotate", rt, "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

出力画像(output.jpg)


関連項目
ImageMagickで文字ごとに背景色が異なる文字列を描画する
ImageMagickで影つきの立体的な角丸四角で修飾された文字列を描画する

ImageMagickで画像に半透明グラデーションをかける

ImageMagickで画像に半透明グラデーションをかけるには、
以下のバッチのようにアルファ付きのgradientを使用します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 200x100 sample8.jpg -fill gradient:#5070E020-#d0a03030 -draw "rectangle 0,0 199, 99" sample187a.gif

元画像(sample8.jpg)


出力画像(sample187a.gif)


関連項目
ImageMagickで、写真を虹色の濃淡画像に変換する

Tuesday, August 07, 2007

ImageMagickで凸状に文字列を描画する

ImageMagickで凸状に文字列を描画するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 200x50 xc:none -font Tahoma-Bold -gravity center -fill white -draw "font-size 28 text 0,0 'ImageMagick'" -shade 135x23 -blur 0x2 ( -size 200x50 xc:none -font Tahoma-Bold -gravity center -fill #fad759 -draw "font-size 28 text 0,0 'ImageMagick'" ) -compose overlay -composite sample186a.png
rem 重ねあわせ例
%im%\convert.exe sample8.jpg -gravity south sample186a.png -composite sample186b.jpg

出力画像(sample186a.png)


重ねあわせ例(sample186b.jpg)


関連項目
ImageMagickで、文字に影だけをつける

Monday, August 06, 2007

ImageMagickで飛び出した感じの文字列を描画する

ImageMagickで飛び出した感じの文字列を描画するには、
以下のバッチファイルを実行します。

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

%im%\convert.exe -size 200x50 xc:none -channel RGBA -font Tahoma -gravity center -fill #F0F0FF -stroke #90A0FF -strokewidth 1 -draw "font-size 31 text 0,0 'ImageMagick'" t1.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill white -stroke white -strokewidth 2 -draw "font-size 30 text 0,2 'ImageMagick'" ( -size 1x1 xc:#20c332 xc:#FFFF10 +append -resize 2x1 ) -fx "p.r==0?0:v.p{0,0}" t2.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill white -stroke white -strokewidth 2 -draw "font-size 29 text 0,4 'ImageMagick'" ( -size 1x1 xc:#20c332 xc:#FFFF10 +append -resize 2x1 ) -fx "p.r==0?0:v.p{0.25,0}" t3.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill white -stroke white -strokewidth 2 -draw "font-size 28 text 0,6 'ImageMagick'" ( -size 1x1 xc:#20c332 xc:#FFFF10 +append -resize 2x1 ) -fx "p.r==0?0:v.p{0.50,0}" t4.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill white -stroke white -strokewidth 2 -draw "font-size 27 text 0,8 'ImageMagick'" ( -size 1x1 xc:#20c332 xc:#FFFF10 +append -resize 2x1 ) -fx "p.r==0?0:v.p{0.75,0}" t5.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill white -stroke white -strokewidth 2 -draw "font-size 26 text 0,10 'ImageMagick'" ( -size 1x1 xc:#20c332 xc:#FFFF10 +append -resize 2x1 ) -fx "p.r==0?0:v.p{1,0}" t6.png
%im%\convert.exe t6.png t5.png -composite t4.png -composite t3.png -composite t2.png -composite t1.png -composite sample185a.png

出力画像(sample185a.png)

Sunday, August 05, 2007

ImageMagickで半透明グラデの縁取り文字を描画する

ImageMagickで半透明グラデの縁取り文字を描画するには、
以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.4-Q16
%im%\convert.exe -size 200x50 xc:none -channel RGBA -fill #FFFFFFFF +antialias -font Tahoma -gravity center -draw "font-size 30 text 0,0 'ImageMagick'" t1.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill none -stroke white -strokewidth 2 -draw "font-size 30 text 0,0 'ImageMagick'" -stroke none -fill black -strokewidth 0 -draw "font-size 30 text 0,0 'ImageMagick'" ( -size 1x1 xc:#7090E080 xc:#FFFF1040 +append -resize 2x1 ) -fx "p.r==0?0:v.p{0,0}" t2.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill none -stroke white -strokewidth 4 -draw "font-size 30 text 0,0 'ImageMagick'" -stroke black -fill black -strokewidth 2 -draw "font-size 30 text 0,0 'ImageMagick'" ( -size 1x1 xc:#7090E080 xc:#FFFF1040 +append -resize 2x1 ) -fx "p.r==0?0:v.p{0.25,0}" t3.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill none -stroke white -strokewidth 6 -draw "font-size 30 text 0,0 'ImageMagick'" -stroke black -fill black -strokewidth 4 -draw "font-size 30 text 0,0 'ImageMagick'" ( -size 1x1 xc:#7090E080 xc:#FFFF1040 +append -resize 2x1 ) -fx "p.r==0?0:v.p{0.50,0}" t4.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill none -stroke white -strokewidth 8 -draw "font-size 30 text 0,0 'ImageMagick'" -stroke black -fill black -strokewidth 6 -draw "font-size 30 text 0,0 'ImageMagick'" ( -size 1x1 xc:#7090E080 xc:#FFFF1040 +append -resize 2x1 ) -fx "p.r==0?0:v.p{0.75,0}" t5.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill none -stroke white -strokewidth 10 -draw "font-size 30 text 0,0 'ImageMagick'" -stroke black -fill black -strokewidth 8 -draw "font-size 30 text 0,0 'ImageMagick'" ( -size 1x1 xc:#7090E080 xc:#FFFF1040 +append -resize 2x1 ) -fx "p.r==0?0:v.p{1,0}" t6.png
%im%\convert.exe t6.png t5.png -composite t4.png -composite t3.png -composite t2.png -composite t1.png -composite sample184a.png
%im%\convert.exe sample8.jpg -gravity center sample184a.png -composite sample184b.jpg

この例では淡い青(#7090E0)と黄色(#FFFF10)の2色から半透明グラデーションにして
縁取りを描画しています。

出力画像(sample184a.png)


重ねあわせ例(sample184b.jpg)

Thursday, August 02, 2007

ImageMagickで任意の大きさの市松模様を作成する

ImageMagickで任意の大きさの市松模様を作成するには、
以下のバッチファイルを実行します。

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

rem 10x10の市松模様
%im%\convert.exe -size 100x100 xc:white -fx "(floor(i/10)+floor(j/10))%%2==0?#EFD8D2:#FFFFF0" sample183a.png

出力画像(sample183a.png)


rem 20x5の市松模様
%im%\convert.exe -size 100x100 xc:white -fx "(floor(i/20)+floor(j/5))%%2==0?#F8C749:#FCE769" sample183b.png

出力画像(sample183b.png)

ImageMagickで任意の色調の部分を斜線を描画する

ImageMagickで任意の色調の部分を斜線を描画するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.4-Q16
%im%\convert.exe sample3b.jpg -fx "tp=((i+j)%%5<3)?p*1.2:p; ((hue<0.08||hue>0.83)&&luminosity>0.98&&saturation<0.8)?tp:p" sample182a.png

元画像(sample3b.jpg)


出力画像(sample182a.png)


2008/07/13追記
ver6.4.0あたりからluminosityからlightnessに変わったので、以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.2-Q16
%im%\convert.exe sample3b.jpg -fx "tp=((i+j)%%5<3)?p*1.2:p; ((hue<0.08||hue>0.83)&&lightness>0.50&&saturation>0.8)?tp:p" sample182a.png