Tuesday, April 15, 2008

ImageMagickで、虹色グラデーションの文字列を描画する

虹色グラデーションの文字列を描画するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.9-Q16
%im%\convert.exe -font Tahoma -pointsize 30 -fill white -background none label:Rainbow ( -size 1x1 xc:blue xc:green xc:yellow xc:red +append ) -fx "v.p{i*4/w,1}" -matte -transparent black sample360a.png
rem 重ねあわせ例
%im%\convert.exe -size 200x40 pattern:checkerboard sample360a.png -gravity center -composite sample360b.jpg

上記バッチファイルでは、以下の処理を実行します。
1. フォントをTahoma, 30ポイントでRainbowという文字列を白色で描画します。
2. blue, green, yellow, redの並びで1x4サイズの画像を作成し、-fxオプションで白色を塗り替えます。
iはx座標,wは画像の幅です。
3. 黒色部分を透過色に設定します。
4. 重ね合わせ処理では、市松模様と3で出力した画像を中央よせ(-gravity center)で重ね合わせます。

出力画像(sample360a.png)


重ね合わせ画像(sample360b.jpg)


関連項目
RMagickで虹色グラデーションの文字列を描画する

Sunday, April 13, 2008

ImageMagickで、透過PNGを半透明にして重ね合わせる

透過PNGを半透明にして重ね合わせるには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.9-Q16
%im%\convert.exe sf.jpg -matte -channel rgba ( sample2.png -matte -channel a -fx "(p.r+p.g+p.b)>0?0.25:0" ) -geometry +10+10 -composite ( sample2.png -matte -channel a -fx "(p.r+p.g+p.b)>0?0.5:0" ) -geometry +20+20 -composite ( sample2.png -matte -channel a -fx "(p.r+p.g+p.b)>0?0.75:0" ) -geometry +30+30 -composite sample2.png -geometry +40+40 -composite sample359.png

上記バッチファイルでは、以下の処理を実行しています。
1. 元画像2を読み込む。
2. 元画像1を読み込み、alphaに0.25を設定し、縦横10ピクセルずらして、重ね合わせ。
3. 元画像1を読み込み、alphaに0.5を設定し、縦横20ピクセルずらして、重ね合わせ。
4. 元画像1を読み込み、alphaに0.75を設定し、縦横30ピクセルずらして、重ね合わせ。
6. 元画像1を読み込み、縦横40ピクセルずらして重ね合わせ。

元画像1(sample2.png)


元画像2(sf.jpg)


出力画像(sample359.png)

Saturday, April 12, 2008

ImageMagickで、画像をポラロイド写真風にして、日本語文字列を描画する

画像をポラロイド写真風にして、日本語文字列を描画するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.9-Q16
%im%\convert.exe -font "c:/winnt/fonts/msmincho.ttc" -pointsize 20 -fill #303030 -caption @message.txt sf.jpg -background #909090 -polaroid 30 -background #ffffff -flatten sample358.png

message.txt(描画する日本語文字列はUTF-8エンコーディングのテキストファイルに保存します)
=================================
San Francisco
サンフランシスコ
=================================

上記バッチファイルでは、以下の処理を実行しています。
1. MS明朝の20ポイントでテキストを画像に割り当て。文字列はUTF-8エンコーディングで
 保存されたテキストファイルから読み込みます。文字列の色は-fillで指定します(#303030)。
2. 影の色を-background #909090で指定して-polaroidでポラロイドの処理と傾きを指定します。
3. 最後に背景色に白(-background #ffffff)を指定します。

元画像(sf.jpg)


出力画像(sample358.png)


関連項目
ImageMagickで画像をポラロイド写真風にする
ImageMagickとVBS(WSH)でポラロイド写真を並べた画像を生成する

Thursday, April 10, 2008

ImageMagickで単色アイコンから、厚みのある任意の色のアイコンに変換する

単色アイコンから、厚みのある任意の色のアイコンに変換するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.9-Q16
%im%\convert.exe -size 17x17 xc:none ( home.png -fill #a19082 -opaque black ) -geometry +1+1 -composite ( home.png -fill #e1e0d2 -opaque black ) -composite sample357a.png
rem 重ねあわせ例
%im%\convert.exe -size 18x18 xc:#70b0c0 sample357a.png +swap -composite sample357b.png

上記バッチでは以下の処理を実行しています。
1. 元画像の黒色部分を暗い灰色(#a19082)に変換。
2. 元画像の黒色部分を明るい灰色(#e1e0d2)に変換。
3. 2の画像の位置を右下に1ピクセル分ずらして、重ね合わせ。
4. 重ね合わせ例では、水色のキャンバスに3の出力画像を重ね合わせています。

元画像(home.png: 白色部分は透過色です)


出力画像(sample357a.png)


出力画像(sample357b.png)

Tuesday, April 08, 2008

ImageMagickで、画像を左端が暗くなったセピア調の画像に変換する

画像を左端が暗くなったセピア調の画像に変換するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.9-Q16
%im%\convert.exe -size 300x225 xc:black -matte -channel rgba -fill white +antialias -draw "ellipse 200,150,180,220,0,360" -transparent white -blur 0x20 sf2.jpg -swap 0,1 -composite -sepia-tone 80%% sample356a.png

上記バッチファイルでは、以下の処理を実行しています。
1. アンチエイリアスをオフにして(+antialias)、円を描画(画面の左が黒になるように描画)。
2. 白色部分を透明にして(-transparent white)、ぼかしをかける(-blur 0x20)。
3. 2の画像と元画像を交換して、セピア調に変換(-sepia-tone 80%)

元画像(sf2.jpg)


出力画像(sample356a.png)

Monday, April 07, 2008

ImageMagickで、2値化した画像を半透明グラデーションにする

2値化した画像を半透明グラデーションにするには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.9-Q16
%im%\convert.exe tree1.jpg -threshold 50%% -negate -matte -channel rgba -fill #00000000 -transparent #000000ff -channel a -fx "p.r>0?(h-j)/h:0" sample355a.png
rem 重ねあわせ例
%im%\convert.exe -size 300x225 pattern:checkerboard sample355a.png -composite sample355b.jpg

上記バッチでは、以下の処理を実行しています。
1. 画像を50%の閾値で2値化し、反転。
2. 黒色部分を透明にし、アルファチャネルで黒色以外の部分を-fxを使用して縦グラデーションにしています。
3. 市松模様と生成した半透明グラデーションを重ね合わせ。

元画像(tree1.jpg)


出力画像(sample355b.jpg)

Sunday, April 06, 2008

ImageMagickで、画像を2値化して白色部分は元画像のままで黒色部分は影付けした画像を生成する

画像を2値化して白色部分は元画像のままで黒色部分は影付けした画像を生成するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.9-Q16
%im%\convert.exe tree1.jpg -modulate 80 ( tree1.jpg -threshold 50%% -matte -channel rgba -fill #ffffff00 -transparent #ffffffff ) ( +clone -background #1070F8 -shadow 100x2+0+0 ) -swap 1,2 -mosaic -crop 300x225+0+0 sample354a.jpg

上記バッチでは、以下の処理を実行しています。
1. 画像の明度を80%に処理(-modulate 80)。
2. 2値化して白色部分を透明に処理。
3. 2の結果を複製して、青っぽい色で影付け。
4. 重ね合わせ後、-cropで元サイズで切り取り。

元画像(sf.jpg)


出力画像(sample354a.jpg)


関連項目
ImageMagickで、画像の輪郭を影で浮かび上がらせた画像を生成する

Saturday, April 05, 2008

ImageMagickで、画像に半透明の斜線を重ね合わせる

画像に半透明の斜線を重ね合わせるには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.9-Q16
%im%\convert.exe -size 3x3 xc:white -fx "(i+j)%%3==0?1:0" -write mpr:t1 +delete -size 200x200 sf.jpg ( -size 200x200 tile:mpr:t1 -matte -channel a -fx "0.3" -channel rgba ) -composite sample353a.jpg

上記のバッチファイルでは、以下の処理を実行しています。
1. 3x3ピクセルの画像サイズで、-fxを使用して斜線画像の作成。
2. -write mpr:t1でメモリに保存して、+deleteでいったん画像を削除。
3. 重ね合わせる画像の読み込み
4. 200x200ピクセルの画像サイズで、2で保存した画像をタイル配置。
5. -matte -channel a -fx "0.3"でタイル配置した画像を半透明に。
6. -compositeで重ね合わせ。

元画像(sf.jpg)


出力画像(sample353a.jpg)


関連項目
ImageMagickで斜線画像を生成する

Friday, April 04, 2008

ImageMagickで、複数行文字列の左寄せ・中央寄せを指定する

複数行文字列の左寄せ・中央寄せを指定するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.9-Q16
rem 左寄せ
%im%\convert.exe -font "c:/winnt/fonts/msmincho.ttc" -pointsize 30 -fill #303030 -background #f0eee4 label:@message.txt sample347a.png

message.txt(描画する文字列はUTF-8エンコーディングでテキストファイルに保存します)
--------------------------
日本語の
文字列
--------------------------

デフォルトでは、改行された各行は左寄せで描画されます。

出力画像(sample347a.png)


rem 中央寄せ
%im%\convert.exe -font "c:/winnt/fonts/msmincho.ttc" -pointsize 30 -fill #303030 -background #f0eee4 -gravity center label:@message.txt sample347b.png

-gravity centerを使用することにより改行された各行が中央寄せで出力されます。

出力文字列(sample347b.png)

Tuesday, April 01, 2008

ImageMagickで、写真から指定の色の半透明濃淡画像に変換する

写真から指定の色の半透明濃淡画像に変換するには、以下のバッチファイルを実行しています。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.9-Q16
rem 画像を白色の半透明濃淡画像に変換
%im%\convert.exe sf.jpg -matte -channel a -fx "luminosity" -channel rgb -fx "#FFFFFF" sample351a.png
rem 重ねあわせ例
%im%\convert.exe -size 200x200 pattern:checkerboard sample351a.png -composite sample351b.jpg

上記バッチでは、以下の処理を実行しています。
1. 明るさを元に、アルファチャネルに値を設定。rgbチャネルに白(#FFFFFF)を設定。
2. 1の出力画像と市松模様(pattern:checkerboard)を重ね合わせ。

元画像(sf.jpg)


出力画像と市松模様の重ね合わせ例(sample351b.jpg)



rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.9-Q16
rem 画像を水色の半透明濃淡画像に変換
%im%\convert.exe sf.jpg -matte -channel a -fx "luminosity" -channel rgb -fx "#BBDDFF" sample351c.png
rem 重ねあわせ例
%im%\convert.exe -size 200x200 pattern:checkerboard sample351c.png -composite sample351d.jpg

出力画像(sample351c.png)


重ね合わせ例(sample351d.jpg)


2008/07/13追記
ver6.4.0あたりからluminosityからlightnessに変わったので、以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.2-Q16
rem 画像を白色の半透明濃淡画像に変換
%im%\convert.exe sf.jpg -matte -channel a -fx "lightness" -channel rgb -fx "#FFFFFF" sample351a.png
rem 重ねあわせ例
%im%\convert.exe -size 200x200 pattern:checkerboard sample351a.png -composite sample351b.jpg
rem 画像を水色の半透明濃淡画像に変換
%im%\convert.exe sf.jpg -matte -channel a -fx "lightness" -channel rgb -fx "#BBDDFF" sample351c.png
rem 重ねあわせ例
%im%\convert.exe -size 200x200 pattern:checkerboard sample351c.png -composite sample351d.jpg

Monday, March 31, 2008

ImageMagickで、透過PNG画像に半透明の縁取りをつける

透過PNG画像に半透明の縁取りをつけるには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.9-Q16
rem 半透明の縁取りを透過PNGに追加
%im%\convert.exe sample2.png -matte -channel RGBA -blur 0x1 -fx "p==0?0:#bbddffa0" sample2.png -composite sample350a.png
rem 重ねあわせ例
%im%\convert.exe sf.jpg sample350a.png -geometry +50+50 -composite sample350b.png

上記バッチファイルでは、元画像をぼかして、ピクセル値が0以上を指定の色に置き換え、
元画像と重ね合わせています。

元画像(sample2.png)


出力画像(sample350a.png)


重ね合わせ例(sample350b.png)


半透明の縁取りをぼかすには、以下のバッチファイルのように半透明の縁取りを作成してから
さらに-blurでぼかしをかけます(2番目の-blur 0x1オプション)。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.9-Q16
rem ぼかした半透明の縁取りを透過PNGに追加
%im%\convert.exe sample2.png -matte -channel RGBA -blur 0x1 -fx "p==0?0:#bbddffa0" -blur 0x1 sample2.png -composite sample350c.png
rem 重ねあわせ例
%im%\convert.exe sf.jpg sample350c.png -geometry +50+50 -composite sample350d.png

出力画像(sample350c.png)


重ね合わせ例(sample350d.png)


関連項目
ImageMagickで画像を縁取りする
ImageMagickで、透過PNGの切り抜き画像からシールっぽい画像を生成する

Sunday, March 30, 2008

ImageMagickで、凹んだ影つきボタンを描画する

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

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.9-Q16
%im%\convert.exe -size 110x30 xc:#d0d0d0 -pointsize 12 -gravity center -draw "text 0,0 'Search'" -gravity northwest -matte -channel rgba ( -size 110x30 xc:white -fill black +antialias -draw "roundrectangle 5,5 104,24 8,8" -transparent black ) ( +clone -background #000000 -shadow 40x2+3+3 ) -swap 1,2 -mosaic -crop 100x20+5+5 sample349a.png

上記バッチでは、以下の処理を実行しています。
1.灰色背景に文字列を描画
2.白背景に黒の角丸四角を描画して、黒色を透明に変換
3.2に対して影付け
4.2と3を入れ替え重ね合わせ、座標(x=5,y=5)から幅100px高さ20pxを切り取っています。

出力画像(sample349a.png)

Thursday, March 27, 2008

ImageMagickで、日本語文字列から画像を生成する

指定したポイントサイズの日本語文字列にぴったりの大きさの画像を生成するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.9-Q16
%im%\convert.exe -font "c:/winnt/fonts/msmincho.ttc" -pointsize 30 -fill #303030 -background #f0eee4 label:@message.txt sample347a.png

message.txtにはUTF-8エンコーディングで以下の文字列を保存します。
-------------------------------------------------------------------------
日本語の文字列
-------------------------------------------------------------------------

背景色は-backgroundオプションで、文字列の描画色は-fillオプションで指定します。

出力画像(sample347a.png)

Wednesday, March 26, 2008

ImageMagickで、画像の左側をぼかした曲線で切り取る

画像の左側をぼかした曲線で切り取るには、以下のバッチファイルを実行します。

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

rem 透過PNG
%im%\convert.exe -size 200x200 xc:none -matte -channel rgba -fill white -draw "ellipse 200,120,180,120,0,360" -blur 0x10 sf.jpg -compose src_in -composite -crop 200x100+0+50 +repage sample346.png

rem 白背景のjpeg
%im%\convert.exe -size 200x200 xc:none -matte -channel rgba -fill white -draw "ellipse 200,120,180,120,0,360" -blur 0x10 sf.jpg -compose src_in -composite -crop 200x100+0+50 +repage ( -size 200x100 xc:white ) +swap -compose dst_over -composite sample346.jpg

元画像(sf.jpg)


透過PNGの出力画像(sample346.png)


白背景のjpegの出力画像(sample346.jpg)

Tuesday, March 25, 2008

ImageMagickで、半透明グラデーションの波模様を生成する

半透明グラデーションの波模様を生成するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
%im%\convert.exe -size 200x30 gradient:#BBDDFFE0-#BBDDFF00 ( -size 200x10 xc:#BBDDFF00 ) -append -virtual-pixel background -background none -wave 3x30 sample345a.png
rem 重ねあわせ例
%im%\convert.exe sample8.jpg -gravity south sample345a.png -composite sample345b.png

出力画像(sample345a.png)


重ね合わせ例(sample345b.png)

Sunday, March 23, 2008

ImageMagickで上部がギザギザになったタブ画像を生成する

上部がギザギザになったタブ画像を生成するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
%im%\convert.exe -size 80x30 xc:white -matte -channel rgba -fx "i%%10<=4&&j>i%%10?1:0" ( -size 80x30 xc:white -matte -channel rgba -fx "i%%10>4&&j>10-i%%10?1:0" ) -fill orange -opaque white -composite -font Comic-Sans-MS-Bold -gravity center -fill white -draw "font-size 12 text 0,0 'What\'s New'" sample344a.png

出力画像(sample344a.png)


関連項目
ImageMagickで文字が透明なタブを描画する

Saturday, March 22, 2008

ImageMagickで、左側が丸く右側が徐々に半透明になっていく図形を描画する

左側が丸く右側が徐々に半透明になっていく図形を描画するには、以下のバッチファイルを
実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
rem 角丸四角画像を描画して右角丸部分を切り落とし、回転させたグラデーション画像と連結します。
%im%\convert.exe -size 100x20 xc:none -fill #BBDDFFFF -draw "roundrectangle 0,0,99,19,10,10" -gravity east -chop 10x0 ( -size 20x60 gradient:#BBDDFFFF-#BBDDFF00 -rotate -90 ) +append sample343a.png
rem 重ね合わせ例
%im%\convert.exe sample8.jpg sample343a.png -geometry +10+10 -composite sample343b.png

出力画像(sample343a.png)


重ね合わせ例(sample343b.png)


関連項目
ImageMagickで画像の上下左右を切り落とす(-chopオプションについて)

Friday, March 21, 2008

ImageMagickで、任意の大きさの画像を角丸四角に切り取る

任意の大きさの画像を角丸四角に切り取るには、以下のVBSをWSHから実行します。

sample342.vbs
------------------------------------------------------------------------------------
Set im = CreateObject("ImageMagickObject.MagickImage.1")

rem 角丸x
rx = Wscript.Arguments(0)
rem 角丸y
ry = Wscript.Arguments(1)
rem 入力ファイル名
ifile = Wscript.Arguments(2)
rem 出力ファイル名
ofile = Wscript.Arguments(3)

rem 入力ファイルの幅・高さを取得する
width = im.identify("-format", "%w", ifile)
height = im.identify("-format", "%h", ifile)

rem 角丸四角で画像を切り取る
im.Convert ifile, "-matte", "(", "-size", width & "x" & height, "xc:none", "-fill", "white", "-draw", "roundrectangle 0,0," & (width-1) & "," & (height-1) & "," & rx & "," & ry , ")", "-compose", "dst_in", "-composite", ofile

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

元画像(sf.jpg)


実行例:
cscript sample342.vbs 20 10 sf.jpg sample342a.png
引数として、角丸x=20,角丸y=10,入力ファイル=sf.jpg,出力ファイルsample342a.pngを与えています。

出力画像(sample342a.png)


元画像(sf2.jpg)


実行例:
cscript sample342.vbs 30 30 sf2.jpg sample342b.png

出力画像(sample342b.png)

Thursday, March 20, 2008

ImageMagickで、光沢のついた半透明角丸四角を描画する

光沢のついた半透明角丸四角を描画するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
%im%\convert.exe -size 100x100 xc:none -fill #FFFFFF80 -draw "ellipse 40,-60,90,90,0,360" ( -size 100x100 xc:none -fill white -draw "roundrectangle 0,0 99,99 10,10" ) -compose dst_in -composite ( -size 100x100 xc:none -fill #00000040 -draw "roundrectangle 0,0 99,99 10,10" ) +swap -compose src-over -composite sample341a.png
rem 重ね合わせ例
%im%\convert.exe sf.jpg sample341a.png -geometry +90+40 -composite sample341b.png

上記バッチファイルでは半透明の円を描画して、角丸四角でマスクして、半透明の角丸四角と重ね合わせています。

出力画像(sample341a.png)


重ね合わせ例(sample341a.png)

Wednesday, March 19, 2008

ImageMagickで、アニメーションGIFの各フレームに文字列を描画する

アニメーションGIFの各フレームに文字列を描画するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
%im%\convert.exe sample62.gif -font "c:/winnt/fonts/msmincho.ttc" -gravity center -draw @sample337.txt -swap 8,9 -draw @sample337.txt -swap 8,9 -swap 7,9 -draw @sample337.txt -swap 7,9 -swap 6,9 -draw @sample337.txt -swap 6,9 -swap 5,9 -draw @sample337.txt -swap 5,9 -swap 4,9 -draw @sample337.txt -swap 4,9 -swap 3,9 -draw @sample337.txt -swap 3,9 -swap 2,9 -draw @sample337.txt -swap 2,9 -swap 1,9 -draw @sample337.txt -swap 1,9 -swap 0,9 -draw @sample337.txt -swap 0,9 sample338.gif

また、日本語文字列の描画のために以下のファイルをUTF-8で保存します。
sample337.txt
------------------------------------------------------------------------------
font-size 32 text 0,0 '見本'
------------------------------------------------------------------------------

元画像(sample62.gif)


出力画像(sample338.gif)

Tuesday, March 18, 2008

ImageMagickで、アニメーションGIFを逆順序に変換する

アニメーションGIFを逆順序に変換するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
%im%\convert.exe sample62.gif -swap 0,9 -swap 1,8 -swap 2,7 -swap 3,6 -swap 4,5 -loop 0 sample314.gif

元画像(sample62.gif)


出力画像(sample314.gif)

ImageMagickとWSHで、不規則な形のバッジを作成する

不規則な形のバッジを作成するには、以下のVBScriptをWSHで実行します。

sample340.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 半径変動幅
dr = Wscript.Arguments(8)
rem 出力ファイル名
ofile = Wscript.Arguments(9)

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)" drr="dr*rnd()" p2x="int(cx-cos(2*pi*dr2/360)*(rad2+drr))" p2y="int(cy-sin(2*pi*dr2/360)*(rad2+drr))">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 sample340.vbs 36 100 100 90 80 orange 200 200 8 sample340.png

出力画像(sample340.png)