Friday, May 11, 2007

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

ImageMagickとVBS(WSH)でポラロイド写真を並べた画像を生成するには、
以下のpolaroids.vbsを実行します。

cscript polaroids.vbs sample156.jpg sample3b.jpg sample4.jpg sample5.jpg sample6.jpg sample9b.jpg
polaroids.vbs
----------------------------------------------------------------------------

Set im = CreateObject("ImageMagickObject.MagickImage.1")
pi=3.14159
rem 開始角
sa=-30
rem 終了角
ea=30
rem 半径
rad=150
rem 出力サイズx
ox=300
oy=200

da=abs(sa-ea)/(WScript.Arguments.Count-2)
WScript.StdOut.WriteLine da
ra = sa
ofile = WScript.Arguments(0)


im.Convert "-size", ox & "x" & oy, "gradient:#ffffff-#bbddff", ofile
For wl=1 to WScript.Arguments.Count -1
infile = WScript.Arguments(wl)
outfile = WScript.Arguments(wl) & ".png"
WScript.StdOut.WriteLine "infile:" & infile
WScript.StdOut.WriteLine "outfile:" & outfile
WScript.StdOut.WriteLine "ra:" & ra
im.Convert infile, "-background", "none", "-polaroid", ra, "+repage", outfile

gx = int(rad * cos(2*pi*(ra+270)/360))
gy = int(rad * sin(2*pi*(ra+270)/360))
width = im.identify("-format", "%w", outfile)
height = im.identify("-format", "%h", outfile)
WScript.StdOut.WriteLine "width:" & width
agx = gx -width/2 +ox/2
agy = gy -height/3 +oy
if agx > 0 then sgx = "+" & agx else sgx = "" & agx end if
if agy > 0 then sgy = "+" & agy else sgy = "" & agy end if

im.Convert ofile, outfile, "-geometry", sgx & sgy, "-composite", ofile


ra=ra+da
Next
Set im = Nothing
----------------------------------------------------------------------------

出力画像(sample156.jpg)


関連項目
ImageMagickとWSHで、バッジ画像を生成する
ImageMagickで、画像をポラロイド写真風にして、日本語文字列を描画する

ImageMagickで画像を傾けて影付けする

ImageMagickで画像を傾けて影付けするには、
以下のバッチファイルを実行します。

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

%im%\convert.exe sample8.jpg -bordercolor #c0b49d -border 3 -resize 150x75 -background none -rotate 7 ( +clone -background #000000 -shadow 150x3+3+3 ) +swap -background none -mosaic sample155a.png
%im%\convert.exe -size 200x100 gradient:#f4a729-#fce769 sample155a.png -geometry +40+25 -composite sample155b.png

元画像(sample8.jpg)


出力画像(sample155b.png)

Thursday, May 10, 2007

ImageMagickでカーブがかかったグラデーションを描画する

ImageMagickでカーブがかかったグラデーションを描画するには、
以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.3-Q16
%im%\convert.exe -size 200x50 xc:white ( -size 200x50 gradient:#7799cc-#bbddff ) -append -wave 10x400 -gravity center -crop 200x50+0+0 +repage sample154a.png
出力画像(sample154a.png)

%im%\convert.exe -size 200x50 xc:white ( -size 200x50 gradient:#f4a729-#fce769 ) -append -wave -10x400 -gravity center -crop 200x50+0+0 +repage sample154b.png


出力画像(sample154b.png)