Friday, April 06, 2007

ImageMagickとVBで画像の幅・高さを取得する

ImageMagickとVBで画像の幅・高さを取得するには、
以下のスクリプトを実行します。

Set im = CreateObject("ImageMagickObject.MagickImage.1")
width = im.identify("-format", "%w", "sample7.jpg")
WScript.StdOut.WriteLine "width:" & width
height = im.identify("-format", "%h", "sample7.jpg")
WScript.StdOut.WriteLine "height:" & height
Set im = Nothing

入力画像(sample7.jpg)

実行結果:
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
width:150

Thursday, April 05, 2007

ImageMagickで任意の範囲の色相の色を残す

ImageMagickで任意の範囲の色相の色を残して、他は白黒化するには
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.3-Q16%im%\convert.exe sample8.jpg -fx "(hue>0.19&&hue<0.47)?p:(r+g+b)/3" sample135a.jpg

元画像(sample8.jpg)


出力画像では緑っぽい色が残り、その他は白黒になります。
出力画像(sample135a.jpg)


関連項目
ImageMagickで、青っぽい所以外を白黒にする
RMagickで緑っぽいところ以外をグレースケールにする (RMagickでの同様の処理)

Tuesday, April 03, 2007

ImageMagickで斜線グラデーションの背景画像を生成する

ImageMagickで斜線グラデーションの背景画像を生成するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe -size 300x20 xc:black -fx "(i+j)%%5==0?0:(sin(pi*i/w))*0.6" sample122a.jpg

出力画像(sample122a.jpg)


以下のように色をつけることもできます。
%im%\convert.exe -size 300x20 xc:black -fx "(i+j)%%5==0?0:(sin(pi*i/w))*0.6" -fill #ccddff -colorize 50% sample122b.jpg


出力画像(sample122b.jpg)


ImageMagickで半透明プレートを重ねたようなラベルを描画する

ImageMagickで半透明プレートを重ねたようなラベルを描画するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe -size 100x20 xc:white -fill #bbddff -stroke #ffffff -draw "opacity 0.5 roundrectangle 0,0 99,19 8,8" -background white -rotate 5 -fill #bbddff -stroke #ffffff -draw "opacity 0.5 roundrectangle 0,0 99,19 8,8" -background white -rotate 5 -draw "opacity 0.5 roundrectangle 0,0 99,19 8,8 fill #1060c0 text 20,15 'Information' " -rotate -4 sample121.png

出力画像(sample121.png)

Sunday, April 01, 2007

ImageMagickで段差のある領域に切り抜く

ImageMagickで段差のある領域に切り抜くには、以下のバッチを
実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
rem マスクを作って
%im%\convert.exe -size 200x100 xc:none -channel RGBA ( -size 200x100 xc:black -fill white -draw "roundrectangle -10,-10 100,99 10,10 rectangle 100,0 199,99" -fill black -draw "roundrectangle 100,40 210,110 10,10" ) -fx "v.p.r==1?1:0" mask.png
rem 切り抜き
%im%\convert.exe mask.png sample8.jpg -compose src_in -composite sample120a.png

元画像(sample8.jpg)



出力画像(sample120a.png)

ImageMagickで画像に半透明ガラス枠をつける

ImageMagickで画像に半透明ガラス枠をつけるには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe sample8.jpg -resize 220x120! -modulate 80 -bordercolor #000000 -border 10x10 -fill #ffffff -draw "rectangle 20,20 219,109" -blur 0x1 -gravity northwest -chop 10x10 -gravity southeast -chop 10x10 -gravity northwest sample8.jpg -geometry +10+10 -composite sample119a.jpg

元画像(sample8.jpg)


出力画像(sample119a.jpg)