Saturday, February 16, 2008

ImageMagickとWSHで、角が丸くなったバッジ画像を生成する

角が丸くなったバッジ画像を生成するには、以下のVBScriptを実行します。

(sample311.vbs)
=============================================================
Set im = CreateObject("ImageMagickObject.MagickImage.1")
pi=3.14159

rem 分割数
par = Wscript.Arguments(0)
rem 中心x
cx = Wscript.Arguments(1)
rem 中心y
cy = Wscript.Arguments(2)
rem 半径(大)
rad1 = Wscript.Arguments(3)
rem 半径(小)
rad2 = Wscript.Arguments(4)
rem 描画色
fc = Wscript.Arguments(5)
rem 出力サイズx
ox = Wscript.Arguments(6)
rem 出力サイズy
oy = Wscript.Arguments(7)
rem 出力ファイル名
ofile = Wscript.Arguments(8)

dr1=0
dr2=360/(par*2)
dat="stroke-linejoin round polygon "
Do While dr2<360 p1x="int(cx-cos(2*pi*dr1/360)*rad1)" p1y="int(cy-sin(2*pi*dr1/360)*rad1)" p2x="int(cx-cos(2*pi*dr2/360)*rad2)" p2y="int(cy-sin(2*pi*dr2/360)*rad2)">0 then
dat=dat+","
end if

dat=dat & cstr(p1x) & "," & cstr(p1y) & "," & cstr(p2x) & "," & cstr(p2y)

dr1 = dr1 + 360/par
dr2 = dr2 + 360/par
Loop

im.Convert "-size", ox & "x" & oy, "xc:none", "-fill", fc, "-stroke", fc, "-strokewidth", "4", "-draw", dat, ofile

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

実行例
cscript sample311.vbs 36 100 100 90 80 #BBDDFF 200 200 sample311.png

出力画像(sample311.png)


stroke-linejoin roundにより、polygonで書かれたバッジの角が丸くなっています。

関連項目
ImageMagickとWSHで、バッジ画像を生成する

ImageMagickでメディアンフィルタを適用する

メディアンフィルタを適用するには-medianオプションを使用します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe sf.jpg -median 1 sample310a.jpg

元画像(sf.jpg)


出力画像(sample310a.jpg)


%im%\convert.exe sf.jpg -median 3 sample310b.jpg

出力画像(sample310b.jpg)


%im%\convert.exe sf.jpg -median 5 sample310c.jpg

出力画像(sample310c.jpg)

Friday, February 15, 2008

ImageMagickで影つきの立体的な角丸四角で修飾された文字列を描画する

影つきの立体的な角丸四角で修飾された文字列を描画するには、
以下のVBScriptをWSHで実行します。

sample209.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
rem c0b49d
im.Convert "-size", "20x20", "xc:none", "-fill", "#bbddff", "-draw", "roundrectangle 0,0,19,19,5,5", "-font", "Tahoma-Bold", "-gravity", "center", "-fill", "#435184", "-draw", "font-size 15 text 0,0 '" & ch & "'", "-virtual-pixel", "background", "-background", "none", "-rotate", rt, "(", "+clone", "-shade", "135x23", "-blur", "0x2", "-normalize", ")", "-compose", "overlay", "-composite", "(", "+clone", "-background", "#052050", "-shadow", "50x2+1+10", ")", "+swap", "-compose", "src-over", "-background", "white", "-mosaic", "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 sample209.vbs

出力画像(output.png)



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

Thursday, February 14, 2008

ImageMagickで、凹んだ影つき円を描画する

凹んだ影つき円を描画するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe sf.jpg -matte -channel rgba ( -size 200x200 xc:none -fill white -draw "ellipse 100,100,90,90,0,360" -negate -fx "p!=1?0:#F0F0D0FF" ) ( +clone -background #000000 -shadow 70x8+5+5 ) +swap -mosaic -crop 200x200+0+0 sample307.jpg

元画像(sf.jpg)


出力画像(sample307.jpg)



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

Wednesday, February 13, 2008

ImageMagickで、濃淡模様が渦巻状に吸い込まれるような画像を生成する

濃淡模様が渦巻状に吸い込まれるような画像を生成するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe -size 400x400 plasma:fractal -fx "intensity" -normalize ( -size 1x1 xc:#3070A0FF xc:#403010FF -append ) -fx "v.p{0,p}" -implode 1 -swirl 120 -crop 200x200+100+100 sample307a.png

出力画像(sample307a.png)


関連項目
ImageMagickで、濃淡模様が中央に吸い込まれるような画像を生成する

Tuesday, February 12, 2008

ImageMagickで、qualityの設定・取得をする

出力画像のqualityを指定するには、-qualityオプションを使用します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe sf.jpg -quality 10 sample306.jpg

上記のバッチファイルでは、画質を10に設定しています(0-100の間で指定します)

元画像(sf.jpg)


出力画像(sample306.jpg)


qualityを取得するには、以下のコマンドを実行します。
%im%\identify.exe -format "%%Q" sample306.jpg

Monday, February 11, 2008

ImageMagickで、波型の円で端をぼかして切り取る

波型の円で端をぼかして切り取るには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe -size 300x225 xc:none -virtual-pixel background -background none -matte -channel rgba -fill white -draw "ellipse 130,110,100,100,0,360" -wave 6x20 -blur 0x3 -rotate -30 -gravity center -crop 300x225+0+0 +repage sf2.jpg -compose src_in -composite sample305a.png
rem 重ねあわせ例
%im%\convert.exe sf.jpg sample305a.png -resize 250 -geometry -30-30 -composite +repage sample305b.jpg

元画像(sf2.jpg)


出力画像(sample305a.png):黒色部分は透過します。


重ね合わせ用画像(sf.jpg)


出力画像(sample305b.jpg)


関連項目
ImageMagickで、端が半透明の円形に画像を切り取る
ImageMagickでバンド状の半透明グラデーション円で画像を切り取る

Saturday, February 09, 2008

ImageMagickで、写真を黄色っぽく着色して端を暗くする

写真を黄色っぽく着色して端を暗くするには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe -size 240x240 xc:black -matte -channel rgba ( -size 200x200 xc:black ) -gravity center -compose minus -composite -blur 0x20 -crop 200x200+0+0 +repage ( sf.jpg -contrast ) +swap -composite ( sf.jpg +contrast -fill #d1dd30 -tint 105 -matte -channel a -fx "0.4" -channel rgba -blur 0x1 ) -composite sample304a.png

元画像(sf.jpg)


出力画像(sample304a.png)


関連項目
RMagickで画像を黄色っぽくして端を暗くする

Friday, February 08, 2008

ImageMagickで、半透明グラデーションの吹き出しを描画する

半透明グラデーションの吹き出しを描画するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe -size 200x200 xc:none -matte -channel rgba -fill white
+antialias -draw "roundrectangle 40,50 160,80 10,10 path
'M 100,80 L 100,90 L 110,80 Z" -negate -blur 0x10
( -size 200x200 xc:none -fill white +antialias -draw
"roundrectangle 40,50 160,80 10,10 path 'M 100,80 L 100,90 L 110,80 Z" )
-compose src_in -composite -fill black -gravity northwest -draw
"font-size 15 text 55,58 'San Francisco'" sample303a.png

%im%\convert.exe sf.jpg -geometry +50+50 sample303a.png -composite sample303b.jpg

元画像(sf.jpg)


出力画像(sample303a.png)


関連項目
ImageMagickで、明度を変えた吹き出しを描画する
ImageMagickで吹き出しを作成する - その4

ImageMagickで、2種類の画像を交互に配置して背景画像を作成する

2種類の画像を交互に配置して背景画像を作成するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe flower1.png flower2.png +append ( flower2.png flower1.png +append ) -append -write mpr:t1 +delete -size 300x200 tile:mpr:t1 sample302a.png

元画像1(flower1.png)


元画像2(flower2.png)


出力画像(sample302a.png)


関連項目
ImageMagickで、背景パターンをジクザグに配置する
RMagickで2つのイメージを交互に配置した画像を作成する (RMagickによる同様の処理)

Wednesday, February 06, 2008

ImageMagickで、端が半透明の円形に画像を切り取る

端が半透明の円形に画像を切り取るには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe -size 300x225 xc:none -matte -channel rgba -fill white -draw "ellipse 130,110,100,100,0,360" -blur 0x10 sf2.jpg -compose src_in -composite sample301a.png
rem 重ねあわせ例
%im%\convert.exe sf.jpg sample301a.png -resize 250 -geometry -30-30 -composite +repage sample301b.jpg

元画像(sf2.jpg)


出力画像(sample301a.png)


重ねあわせ例(sample301b.png)


関連項目
ImageMagickで、波型の円で端をぼかして切り取る
RMagickで、端が半透明の円形に画像を切り取る

Tuesday, February 05, 2008

ImageMagickで、角が丸い十字模様を作成する

角が丸い十字模様を作成するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe -size 20x20 xc:none -matte -channel rgba -fill black -draw "roundrectangle 8,2 12,17 2,2 roundrectangle 2,8 17,12 2,2" sample300a.png
%im%\convert.exe -size 200x200 tile:sample300a.png ( -size 220x220 tile:sample300a.png -matte -channel a -fx "p.r==1?0:1" -channel rgba ) -geometry -10-10 -composite sample300b.png

出力画像(sample300a.png)


出力画像(sample300b.png)

Monday, February 04, 2008

ImageMagickで、画像に同心円の模様をつける

画像に同心円の模様をつけるには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe -size 200x200 xc:none -matte -channel rgba -fx "ceil(sqrt((i-150)^2+(j-350)^2))%%4<=1?#00000030:#00000000" sf.jpg +swap -composite sample299.jpg

元画像(sf.jpg)


出力画像(sample299.jpg)

Sunday, February 03, 2008

ImageMagickで、画像を早朝っぽく加工する

画像を早朝っぽく加工するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe sf2.jpg -fill #bbddff -tint 120 sample290a.png

上記バッチでは-tintオプションで、明るい青色っぽい色を着色しています。

元画像(sf2.jpg)


出力画像(sample290a.png)

ImageMagickで、ぼんやりと青白く輝く文字列を描画する

ぼんやりと青白く輝く文字列を描画するには、以下のバッチファイルを実行します。

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

%im%\convert.exe -size 300x100 xc:none -matte -channel rgba
-font Times-New-Roman-Bold -gravity center -fill white
-draw "font-size 48 text 0,0 'ImageMagick'" -channel a
-blur 0x2 -normalize -channel rgba ( -size 300x100 xc:black
-matte -channel rgba -font Times-New-Roman-Bold
-gravity center -fill #1F77D2 -stroke #1F77D2
-strokewidth 2 -draw "font-size 48 text 0,0 'ImageMagick'"
-blur 0x5 -strokewidth 1
-draw "font-size 48 text 0,0 'ImageMagick'" ) +swap -composite sample298.png

上記バッチファイルでは、白色で描画した文字列のアルファチャネルに
若干のぼかしをかけて、青色っぽい色で描画した文字列にぼかしをかけた
画像と重ねあわせをしています。

出力画像(sample298.png)


関連項目
ImageMagickで、任意の色でぼかして縁取られた文字を描画する
ImageMagickで文字列の描画 (日本語描画)
ImageMagickとPHPで青白く輝く文字列を描画する (Imagickでの同様の処理)

Saturday, February 02, 2008

ImageMagickで、画像の上下を半円の繰り返しで切り取る

画像の上下を半円の繰り返しで切り取るには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe -size 300x225 xc:white -matte -channel rgba
-fx "(i%%20-10)^2+(j-10)^2-10^2<0?1:0"
-fx "(i%%20-10)^2+(h-j-10-1)^2-10^2<0?1:p"
-fx "j>=10&&j<(h-10)?1:p" sf2.jpg -compose src_in -composite sample296a.png
元画像(sf2.jpg)


出力画像(sample296a.png) : 黒色部分は透過色です。

ImageMagickとWSHで、バッジ画像を生成する

ImageMagickとWSHで、バッジ画像を生成するには、以下のスクリプトを実行します。

sample294.vbs
=============================================
Set im = CreateObject("ImageMagickObject.MagickImage.1")
pi=3.14159

rem 分割数
par = Wscript.Arguments(0)
rem 中心x
cx = Wscript.Arguments(1)
rem 中心y
cy = Wscript.Arguments(2)
rem 半径(大)
rad1 = Wscript.Arguments(3)
rem 半径(小)
rad2 = Wscript.Arguments(4)
rem 描画色
fc = Wscript.Arguments(5)
rem 出力サイズx
ox = Wscript.Arguments(6)
rem 出力サイズy
oy = Wscript.Arguments(7)
rem 出力ファイル名
ofile = Wscript.Arguments(8)

dr1=0
dr2=360/(par*2)
dat="polygon "
Do While dr2<360
p1x=int(cx-cos(2*pi*dr1/360)*rad1)
p1y=int(cy-sin(2*pi*dr1/360)*rad1)
p2x=int(cx-cos(2*pi*dr2/360)*rad2)
p2y=int(cy-sin(2*pi*dr2/360)*rad2)

if dr1 >0 then
dat=dat+","
end if

dat=dat & cstr(p1x) & "," & cstr(p1y) & "," & cstr(p2x) & "," & cstr(p2y)

dr1 = dr1 + 360/par
dr2 = dr2 + 360/par
Loop

im.Convert "-size", ox & "x" & oy, "xc:none", "-fill", fc, "-draw", dat, ofile

Set im = Nothing

=============================================
実行例
cscript sample294.vbs 20 100 100 90 80 orange 200
200 sample294.png

出力画像(sample294.png)


関連項目
ImageMagickとVBS(WSH)でポラロイド写真を並べた画像を生成する
ImageMagickとWSHで、角が丸くなったバッジ画像を生成する

Thursday, January 31, 2008

ImageMagickで、背景パターンをジクザグに配置する

背景パターンをジクザグに配置するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe flower1.png -roll +0+4 flower1.png -roll +0+4 flower1.png -roll +0+4 flower1.png -roll +0+4 flower1.png +append -roll +0-4 flower1.png -roll +0-4 flower1.png -roll +0-4 flower1.png -roll +0-4 +append -write mpr:t1 +delete -size 300x200 tile:mpr:t1 sample295a.png

背景パターン画像(flower1.png)


出力画像(sample295a.png)


関連項目
ImageMagickで、2種類の画像を交互に配置して背景画像を作成する

Wednesday, January 30, 2008

ImageMagickで、濃淡模様が中央に吸い込まれるような画像を生成する

濃淡模様が中央に吸い込まれるような画像を生成するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe -size 400x400 plasma:fractal -fx "intensity" -normalize ( -size 1x1 xc:#3070A0FF xc:#403010FF -append ) -fx "v.p{0,p}" -implode 1 -crop 200x200+100+100 sample292a.png

出力画像(sample292a.png)


関連項目
ImageMagickで、濃淡模様が渦巻状に吸い込まれるような画像を生成する
RMagickで濃淡模様が中央に吸い込まれるような画像を作成する

Tuesday, January 29, 2008

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

徐々に画像がスケッチ調になるように加工するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe sf.jpg -sketch 0x10+120 -matte -channel a -fx "i>=2*w/3?1:0" -fx "i>=w/3&&i<2*w/3?(i-w/3)/(w/3):p" -channel rgba sf.jpg +swap -composite sample291a.png

上記バッチファイルでは、画面左から1/3の部分が元画像、
1/3から2/3が元画像とスケッチ調画像の グラデーション、
右1/3がスケッチ調になっています。

元画像(sf.jpg)


出力画像(sample291a.png)


関連項目
ImageMagickで画像をスケッチ画調に処理する
ImageMagickで青色っぽい部分以外をスケッチ調に変換する
ImageMagickで雨が降っているような加工をする