Saturday, March 24, 2007

ImageMagickで影を回転させる

ImageMagickで-rotateオプションで影を回転させて立体感を
出すこともできます。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe -size 80x30 xc:none -fill #ffffff -draw "roundrectangle 5,5 79,29 4,4"
( +clone -background #000000 -shadow 30x2-3+1 -background none -rotate 5 )
+swap -background #bbddff -mosaic sample112.jpg

出力画像(sample112.jpg)


関連項目
ImageMagickで影の方向を変える

ImageMagickでラベルの付いた角丸四角画像を作成する

ImageMagickでラベルの付いた角丸四角画像を作成するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
rem 左下だけ角丸の四角形
im%\convert.exe -size 60x24 xc:none -fill #000000 -draw "roundrectangle 0,0 59,23 4,4" -gravity northeast -chop 4x4 lbl.gif
rem 画像と重ねあわせを行い文字列を描画
%im%\convert.exe sample7.jpg -gravity northeast lbl.gif -composite +gravity -pointsize 16 -font "c:/winnt/fonts/msmincho.ttc" -fill #ffffff -draw @title.txt sample111a.png
rem 角丸四角に切り抜き
%im%\convert.exe -size 150x100 xc:none -channel RGBA -fill white -draw "roundrectangle 0,0 149,99 10,10" sample111a.png -compose src_in -composite sample111b.gif

文字列描画用ファイル(title.txt)UTF-8にて保存します。
text 100,16 'お花'

元画像(sample7.jpg)


出力画像(sample111.gif)

Friday, March 23, 2007

ImageMagickで光沢のあるタブ画像を生成する

ImageMagickで光沢のあるタブ画像を生成するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.2-Q16
rem タブ画像1 - 非選択
%im%\convert.exe -size 100x30 xc:none -fill #c0c0c0 -stroke #ffffff -draw "roundrectangle 0,0 99,29 8,8" ( -size 94x10 xc:none -tile gradient:#c0c0c0-#f2f2f2 -stroke none -draw "roundrectangle 0,0 93,9 3,3" ) -geometry +3+3 -composite -stroke none -fill #909090 -draw "font-size 12 text 32,17 'Home'" ( +clone -background #000000 -shadow 40x2+3+3 ) +swap -background white -mosaic +tile -gravity south -chop 0x18 sample133a.gif
rem タブ画像1 - 選択
%im%\convert.exe -size 100x30 xc:none -fill #bbddff -stroke #ffffff -draw "roundrectangle 0,0 99,29 8,8" ( -size 94x10 xc:none -tile gradient:#bbddff-#f0f5ff -stroke none -draw "roundrectangle 0,0 93,9 3,3" ) -geometry +3+3 -composite -stroke none -fill #3070a0 -draw "font-size 12 text 32,17 'Home'" ( +clone -background #000000 -shadow 40x2+3+3 ) +swap -background white -mosaic +tile -gravity south -chop 0x18 sample133b.gif
rem タブ画像1 - hover
%im%\convert.exe -size 100x30 xc:none -fill #aaccf0 -stroke #ffffff -draw "roundrectangle 0,0 99,29 8,8" ( -size 94x10 xc:none -tile gradient:#aaccf0-#e0e5ff -stroke none -draw "roundrectangle 0,0 93,9 3,3" ) -geometry +3+3 -composite -stroke none -fill #3070a0 -draw "font-size 12 text 32,17 'Home'" ( +clone -background #000000 -shadow 40x2+3+3 ) +swap -background white -mosaic +tile -gravity south -chop 0x18 sample133c.gif
rem 3つのボタン画像を連結
%im%\convert.exe sample133a.gif sample133b.gif sample133c.gif +append tab1.gif

出力画像(tab1.gif)

Thursday, March 22, 2007

ImageMagickで端がグラデーションの半透明角丸四角形を描画する

ImageMagickで端がグラデーションの半透明角丸四角形を描画するには
以下のバッチファイルを実行します。

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

%im%\convert.exe -size 120x120 xc:#ffffffff -channel RGBA -fill #000000FF -draw "roundrectangle 10,10 110,110 10,10" -blur 0x7 -crop 100x100+10+10 +repage -channel A -fx 0.3 sample109a.png
%im%\convert.exe -size 100x100 xc:none -channel RGBA -fill white -draw "roundrectangle 0,0 99,99 10,10" sample109a.png -compose src_in -composite sample109b.png
%im%\convert.exe sample1.jpg sample109b.png -geometry +10+10 -composite sample109c.jpg

出力画像(sample109b.png)


元画像(sample1.jpg)


出力画像(sample109c.jpg)

Monday, March 19, 2007

ImageMagickで消えていく影を描画する

Webページなどで見かける消えていく影を描画するには、
以下のコマンドを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe -size 100x100 xc:none -fill white -draw "rectangle 0,0 49,99" -channel RGBA sample110a.png
%im%\convert.exe -size 100x100 xc:white -fill #fad759 -draw "rectangle 50,25 99,74" sample110a.png ( +clone -background #000000 -shadow 40x3+2+2 -crop 100x100 -fx "1-sin(pi*j/h)" ) +swap -mosaic sample110b.jpg

出力画像(sample110b.jpg)

ImageMagickで左上が明るい半透明グラデーションを描画する

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

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

%im%\convert.exe -size 80x40 xc:#f8f8ffff -channel A -fx "((w-i)/w)*((h-j)/h)*0.6+0.3" grad.png
rem 重ね合わせ
%im%\convert.exe sample2bg.jpg grad.png -geometry +10+10 -composite -fill #204070 -draw "font-size 14 text 16,26 'Flower'" sample107a.jpg

元画像(sample2bg.jpg)


出力画像(sample107a.jpg)

Sunday, March 18, 2007

ImageMagickで横線の入ったボタンを生成する

ImageMagickで横線の入ったボタンを生成するには、以下のバッチファイルを
実行します。

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

rem ボタン画像1
%im%\convert.exe -size 100x20 xc:none -tile gradient:#c0c0c0-#f2f2f2 -stroke #ffffff -draw "roundrectangle 0,0 99,19 8,8" -fx "j%%2==0?p:p*0.8" +tile -stroke none -fill #a0a0a0 -draw "font-size 12 text 32,15 'Search'" ( +clone -background #000000 -shadow 40x2+3+3 ) +swap -background white -mosaic sample130a.gif

rem ボタン画像2
%im%\convert.exe -size 100x20 xc:none -tile gradient:#bbddff-#f0f5ff -stroke #ffffff -draw "roundrectangle 0,0 99,19 8,8" -fx "j%%2==0?p:p*0.8" +tile -stroke none -fill #3070a0 -draw "font-size 12 text 32,15 'Search'" ( +clone -background #000000 -shadow 40x2+3+3 ) +swap -background white -mosaic sample130b.gif

rem 2つのボタン画像を連結
%im%\convert.exe sample130a.gif sample130b.gif +append button.gif

出力画像(button.gif)

Friday, March 16, 2007

ImageMagickで消えていく角丸を描画する

ImageMagickで消えていく角丸を描画するには、
以下のコマンドを実行します。

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

%im%\convert.exe -size 100x100 xc:none -channel RGBA -fill #ffffff -draw "roundrectangle 10,10 89,89 10,10" ( +clone -background #000000 -shadow 90x2+0+0 -channel A -fx "p*((w-20-i)/w)*((h-20-j)/h)" ) +swap -background white -flatten -gravity southeast -chop 20x20 +repage sample114a.jpg

出力画像(sample114a.jpg)

Thursday, March 15, 2007

ImageMagickで円をぼかした背景画像を描画する

ImageMagickで円をぼかした背景画像を描画するには、
以下のコマンドを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe -size 150x100 xc:#bbddff -fill white -draw "ellipse 50,50 40,40 0,360" -blur 0x20 -fx "j%%3==0?p*1.1:p" sample104.jpg

出力画像(sample104.jpg)

Wednesday, March 14, 2007

ImageMagickで端がグラデーションの半透明四角形を描画する

ImageMagickで端がグラデーションの半透明四角形を描画するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe -size 120x120 xc:#ffffffff -channel RGBA -fill #000000FF -draw "rectangle 10,10 110,110" -blur 0x7 -crop 100x100+10+10 +repage -channel A -fx 0.3 sample108a.png

出力画像(sample108a.png)




重ねあわせ例1:
%im%\convert.exe sample1.jpg sample108a.png -geometry +10+10 -composite sample108b.jpg

出力画像(sample108b.jpg)


%im%\convert.exe -size 120x120 xc:#ffffffff -channel RGBA -fill #000080FF -draw "rectangle 10,10 110,110" -blur 0x7 -crop 100x100+10+10 +repage -channel A -fx 0.6 sample108c.png

出力画像(sample108c.png)


重ねあわせ例2:
%im%\convert.exe sample1.jpg sample108c.png -geometry +10+10 -composite sample108d.jpg

出力画像(sample108d.jpg)

Tuesday, March 13, 2007

ImageMagickで角丸四角画像の端をグラデーションで塗る

ImageMagickで角丸四角画像の端を
グラデーションで塗るには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe sample2bg.jpg -border 10x10 ( -size 120x120 xc:none -channel RGBA -fill white -draw "roundrectangle 10,10 110,110 10,10" -negate -fx "p!=1?0:#F0F0F0" -blur 0x3 ) -composite -crop 100x100+10+10 +repage -channel RGBA sample102a.png
%im%\convert.exe -size 150x100 xc:none -channel RGBA -fill white -draw "roundrectangle 0,0 149,99 10,10" sample102b.png -compose src_in -composite sample102b.gif

元画像(sample7.jpg)



出力画像(sample102b.gif)


2008/01/04追記
ver6.3.7では、以下のバッチファイルを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe sample7.jpg -border 10x10 ( -size 170x120 xc:none -matte -channel RGBA -fill white -draw "roundrectangle 10,10 160,110 10,10" -negate -fx "p!=1?0:#404040FF" -blur 0x5 ) -composite -crop 150x100+10+10 -channel RGBA sample102b.png
%im%\convert.exe -size 150x100 xc:none -fill white -draw "roundrectangle 0,0 149,99 10,10" sample102b.png -compose src_in -composite sample102b.gif

関連項目
ImageMagickで画像の上下・左右をグラデーションで塗る


Monday, March 12, 2007

ImageMagickで画像の端をグラデーションで塗る

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

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe sample2bg.jpg -border 10x10 ( -size 120x120 xc:none -channel RGBA -fill white -draw "rectangle 10,10 110,110" -negate -fx "p!=1?0:#F0F0F0" -blur 0x10 ) -composite -crop 100x100+10+10 sample101a.gif

元画像(sample2bg.jpg)


出力画像(sample101a.gif)

画像の端を暗くする場合は、以下のバッチファイルを実行します。
%im%\convert.exe sample7.jpg -border 10x10 ( -size 170x120 xc:none -channel RGBA -fill white -draw "rectangle 10,10 160,110" -negate -fx "p!=1?0:#404040" -blur 0x5 ) -composite -crop 150x100+10+10 sample101b.gif

元画像(sample7.jpg)


出力画像(sample101b.gif)


2008/01/04追記
Ver6.3.7では、以下のバッチファイルを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe sample2bg.jpg -border 10x10 ( -size 120x120 xc:none -matte -channel RGBA -fill white -draw "rectangle 10,10 110,110" -negate -fx "p!=1?0:#F0F0F0FF" -blur 0x10 ) -composite -crop 100x100+10+10 +repage sample101a.gif
%im%\convert.exe sample7.jpg -border 10x10 ( -size 170x120 xc:none -matte -channel RGBA -fill white -draw "rectangle 10,10 160,110" -negate -fx "p!=1?0:#404040FF" -blur 0x5 ) -composite -crop 150x100+10+10 +repage sample101b.gif

関連項目
ImageMagickで画像の上下・左右をグラデーションで塗る

Friday, March 09, 2007

ImageMagickでタブ画像を生成する

ImageMagickで以下のバッチを実行することで、
タブ画像を生成できます。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
rem タブ画像1 - 非選択
%im%\convert.exe -size 100x30 xc:none -tile gradient:#c0c0c0-#f2f2f2 -stroke #ffffff -draw "roundrectangle 0,0 99,29 8,8" +tile -stroke none -fill #a0a0a0 -draw "font-size 12 text 32,15 'Home'" ( +clone -background #000000 -shadow 40x2+3+3 ) +swap -background white -mosaic +tile -gravity south -chop 0x18 sample100a.gif
rem タブ画像1 - 選択
%im%\convert.exe -size 100x30 xc:none -tile gradient:#bbddff-#f0f5ff -stroke #ffffff -draw "roundrectangle 0,0 99,29 8,8" +tile -stroke none -fill #3070a0 -draw "font-size 12 text 32,15 'Home'" ( +clone -background #000000 -shadow 40x2+3+3 ) +swap -background white -mosaic +tile -gravity south -chop 0x18 sample100b.gif
rem タブ画像1 - hover
%im%\convert.exe -size 100x30 xc:none -tile gradient:#aaccf0-#e0e5ff -stroke #ffffff -draw "roundrectangle 0,0 99,29 8,8" +tile -stroke none -fill #3070a0 -draw "font-size 12 text 32,15 'Home'" ( +clone -background #000000 -shadow 40x2+3+3 ) +swap -background white -mosaic +tile -gravity south -chop 0x18 sample100c.gif
rem 3つのボタン画像を連結
%im%\convert.exe sample100a.gif sample100b.gif sample100c.gif +append tab1.gif

出力画像(tab1.gif)


以下のようなCSSを指定することで、マウスオーバーした場合に
切り替わるように指定できます。
ul.mytab {
list-style: none;
}
ul.mytab li {
display: block;
float: left;
}

a.tab1 {
display: block;
width: 108px;
height: 20px;
background-image: url("./tab1.gif");
background-repeat: no-repeat;
background-position: 0px 0px;
text-decoration: none;
}
a.tab1selected {
display: block;
width: 108px;
height: 20px;
background-image: url("./tab1.gif");
background-repeat: no-repeat;
background-position: -108px 0px;
text-decoration: none;
}
a:hover.tab1 {
background-position: -216px 0px;
}


HTMLでは以下のように指定します。
<ul class="mytab">
<li><a class="tab1" href="#"></a></li>
<li><a class="tab1selected" href="#"></a></li>
</ul>

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

ImageMagickで重ね合わせの位置を指定する - その2

-gravityオプションと-geometryオプションを併用することで、
たとえば、右下から指定の座標に重ねあわせをするといったことが
できます。

元画像(sample7.jpg)


ロゴ画像(logo.png)


rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
rem 左上(10,10)に配置
%im%\convert.exe sample7.jpg yourlogo.png -gravity northwest -geometry +10+10 -composite sample98a.jpg

出力画像(sample98a.jpg)


rem 中央上に配置
%im%\convert.exe sample7.jpg yourlogo.png -gravity north -geometry +0+10 -composite sample98b.jpg
出力画像(sample98b.jpg)


rem 右上に配置
%im%\convert.exe sample7.jpg yourlogo.png -gravity northeast -geometry +10+10 -composite sample98c.jpg

出力画像(sample98c.jpg)


rem 中央左に配置
%im%\convert.exe sample7.jpg yourlogo.png -gravity west -geometry +10+0 -composite sample98d.jpg

出力画像(sample98d.jpg)


rem 中央右に配置
%im%\convert.exe sample7.jpg yourlogo.png -gravity east -geometry +10+0 -composite sample98e.jpg

出力画像(sample98e.jpg)


rem 左下に配置
%im%\convert.exe sample7.jpg yourlogo.png -gravity southwest -geometry +10+10 -composite sample98f.jpg

出力画像(sample98f.jpg)


rem 中央下に配置
%im%\convert.exe sample7.jpg yourlogo.png -gravity south -geometry +0+10 -composite sample98g.jpg

出力画像(sample98g.jpg)


rem 右下に配置
%im%\convert.exe sample7.jpg yourlogo.png -gravity southeast -geometry +10+10 -composite sample98h.jpg

出力画像(sample98h.jpg)

Thursday, March 08, 2007

ImageMagickでボタン画像を生成する

ImageMagickでボタン画像を生成するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
rem ボタン画像1
%im%\convert.exe -size 100x20 xc:none -tile gradient:#c0c0c0-#f2f2f2 -stroke #ffffff -draw "roundrectangle 0,0 99,19 8,8" +tile -stroke none -fill #a0a0a0 -draw "font-size 12 text 32,15 'Search'" ( +clone -background #000000 -shadow 40x2+3+3 ) +swap -background white -mosaic sample97a.gif
rem ボタン画像
2%im%\convert.exe -size 100x20 xc:none -tile gradient:#bbddff-#f0f5ff -stroke #ffffff -draw "roundrectangle 0,0 99,19 8,8" +tile -stroke none -fill #3070a0 -draw "font-size 12 text 32,15 'Search'" ( +clone -background #000000 -shadow 40x2+3+3 ) +swap -background white -mosaic sample97b.gif
rem 2つのボタン画像を連結%im%\convert.exe sample97a.gif sample97b.gif +append button.gif



Webページに上記画像を埋め込む場合、
スタイルシートに以下のように設定することで、
マウスオーバーしたときに、画像が切り替わるように
できます。
a.btn {
display: block;
width: 108px;
height: 28px;
background-image: url("./button.gif");
background-repeat: no-repeat;
background-position: 0px 0px;
text-decoration: none;
}
a:hover.btn {
background-position: -108px 0px;
}

Wednesday, March 07, 2007

ImageMagickでリボンを描画する

ImageMagickでリボンを描画するには、polygonを使用して
リボンの形を描画します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
rem シンプルな単色リボン
%im%\convert.exe -size 200x20 xc:none -fill #f1ede1 -draw "polygon 0,0 5,9 0,19 199,19 194,9 199,0" sample96a.gif

出力画像(sample96a.gif)


rem 枠線付きリボン
%im%\convert.exe -size 200x20 xc:none -fill #f1ede1 -draw "polygon 0,0 5,9 0,19 199,19 194,9 199,0" -stroke #c9bfaa -fill none -draw "polygon 0,0 5,9 0,19 199,19 194,9 199,0" sample96b.gif

出力画像(sample96b.gif)


rem 2重枠線付きリボン
%im%\convert.exe -size 204x24 xc:none -stroke #c9bfaa -strokewidth 3 -fill #f1ede1 -draw "polygon 2,2 7,11 2,21 201,21 196,11 201,2" -stroke white -strokewidth 1 -fill none -draw "polygon 2,2 7,11 2,21 201,21 196,11 201,2" sample96c.gif

出力画像(sample96c.gif)

Tuesday, March 06, 2007

ImageMagickで光沢のある文字列を描画する

ImageMagickで光沢のある文字列を描画するには、
-fxオプションを使用して、画像の半分の高さの位置の
上下でグラデーションを適用します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.2-Q16
%im%\convert.exe -size 120x30 xc:none -fill #bbddff -font "Tahoma-Bold" -draw "font-size 30 text 5,23 'Sample'" -fx "(h/2>j)?(j/(h/2)*0.1+p):(p-((h-j)/(h/2)*0.1))" -background white sample132a.png

出力画像(sample132a.png)

ImageMagickで様々な角丸四角を描画する

roundrectangleの第5(width)・第6(height)パラメータにより
丸みを指定することで、様々な角丸四角を描画できます。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
%im%\convert.exe -size 100x100 xc:none -fill #bbddff -draw "roundrectangle 0,0 100,100 50,10" sample95a.gif

出力画像(sample95.gif)


%im%\convert.exe -size 100x100 xc:none -fill #f1ede1 -draw "roundrectangle 0,0 100,100 5,50" sample95b.gif

出力画像(sample95b.gif)

Monday, March 05, 2007

ImageMagickで影の方向を変える

ImageMagickで影の方向を変えるには、-shadowオプションの
第3(X)・第4(Y)パラメータを変更します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.2-Q16
rem 左上に影
%im%\convert.exe sample128a.png ( +clone -background black -shadow 40x3-3-3 ) +swap -background white -flatten sample129a.jpg

出力画像(sample129a.jpg)


rem 左下に影
%im%\convert.exe sample128a.png ( +clone -background black -shadow 40x3-3+3 ) +swap -background white -flatten sample129b.jpg

出力画像(sample129b.jpg)


rem 真下に影
%im%\convert.exe sample128a.png ( +clone -background black -shadow 40x3+0+6 ) +swap -background white -flatten sample129c.jpg

出力画像(sample129c.jpg)

ImageMagickで端がグラデーションになった雲を描画する

ImageMagickで端がグラデーションになった雲を描画するには、
雲を一度描画してからぼかして、再度雲形でマスクします。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.2-Q16
%im%\convert.exe -size 200x130 xc:none -fill #ffffff -draw "ellipse 50,50 40,40 0,360 ellipse 80,40 30,30 0,360 ellipse 110,60 50,50 0,360 ellipse 140,40 30,30 0,360 ellipse 160,50 30,30 0,360 ellipse 150,80 30,30 0,360 ellipse 40,80 30,30 0,360 ellipse 80,80 40,40 0,360" ( -size 200x130 xc:#bbddff -fill #ffffff -draw "ellipse 50,50 40,40 0,360 ellipse 80,40 30,30 0,360 ellipse 110,60 50,50 0,360 ellipse 140,40 30,30 0,360 ellipse 160,50 30,30 0,360 ellipse 150,80 30,30 0,360 ellipse 40,80 30,30 0,360 ellipse 80,80 40,40 0,360" -blur 0x20 ) -compose src_in -composite sample128a.png

出力画像(sample128a.png)