Saturday, August 11, 2007

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

ImageMagickで角丸四角で修飾された文字列を描画するには、
以下のVBSをcscript.exe(WSH)で実行します。

letters-w-rr.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

im.Convert "-size", "20x20", "xc:none", "-fill", "#c0b49d", "-draw", "roundrectangle 0,0,19,19,5,5", "-font", "Tahoma-Bold", "-gravity", "center", "-fill", "white", "-draw", "font-size 15 text 0,0 '" & ch & "'", "-rotate", rt, "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

出力画像(output.jpg)


関連項目
ImageMagickで文字ごとに背景色が異なる文字列を描画する
ImageMagickで影つきの立体的な角丸四角で修飾された文字列を描画する

ImageMagickで画像に半透明グラデーションをかける

ImageMagickで画像に半透明グラデーションをかけるには、
以下のバッチのようにアルファ付きのgradientを使用します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 200x100 sample8.jpg -fill gradient:#5070E020-#d0a03030 -draw "rectangle 0,0 199, 99" sample187a.gif

元画像(sample8.jpg)


出力画像(sample187a.gif)


関連項目
ImageMagickで、写真を虹色の濃淡画像に変換する

Tuesday, August 07, 2007

ImageMagickで凸状に文字列を描画する

ImageMagickで凸状に文字列を描画するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe -size 200x50 xc:none -font Tahoma-Bold -gravity center -fill white -draw "font-size 28 text 0,0 'ImageMagick'" -shade 135x23 -blur 0x2 ( -size 200x50 xc:none -font Tahoma-Bold -gravity center -fill #fad759 -draw "font-size 28 text 0,0 'ImageMagick'" ) -compose overlay -composite sample186a.png
rem 重ねあわせ例
%im%\convert.exe sample8.jpg -gravity south sample186a.png -composite sample186b.jpg

出力画像(sample186a.png)


重ねあわせ例(sample186b.jpg)


関連項目
ImageMagickで、文字に影だけをつける

Monday, August 06, 2007

ImageMagickで飛び出した感じの文字列を描画する

ImageMagickで飛び出した感じの文字列を描画するには、
以下のバッチファイルを実行します。

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

%im%\convert.exe -size 200x50 xc:none -channel RGBA -font Tahoma -gravity center -fill #F0F0FF -stroke #90A0FF -strokewidth 1 -draw "font-size 31 text 0,0 'ImageMagick'" t1.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill white -stroke white -strokewidth 2 -draw "font-size 30 text 0,2 'ImageMagick'" ( -size 1x1 xc:#20c332 xc:#FFFF10 +append -resize 2x1 ) -fx "p.r==0?0:v.p{0,0}" t2.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill white -stroke white -strokewidth 2 -draw "font-size 29 text 0,4 'ImageMagick'" ( -size 1x1 xc:#20c332 xc:#FFFF10 +append -resize 2x1 ) -fx "p.r==0?0:v.p{0.25,0}" t3.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill white -stroke white -strokewidth 2 -draw "font-size 28 text 0,6 'ImageMagick'" ( -size 1x1 xc:#20c332 xc:#FFFF10 +append -resize 2x1 ) -fx "p.r==0?0:v.p{0.50,0}" t4.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill white -stroke white -strokewidth 2 -draw "font-size 27 text 0,8 'ImageMagick'" ( -size 1x1 xc:#20c332 xc:#FFFF10 +append -resize 2x1 ) -fx "p.r==0?0:v.p{0.75,0}" t5.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill white -stroke white -strokewidth 2 -draw "font-size 26 text 0,10 'ImageMagick'" ( -size 1x1 xc:#20c332 xc:#FFFF10 +append -resize 2x1 ) -fx "p.r==0?0:v.p{1,0}" t6.png
%im%\convert.exe t6.png t5.png -composite t4.png -composite t3.png -composite t2.png -composite t1.png -composite sample185a.png

出力画像(sample185a.png)

Sunday, August 05, 2007

ImageMagickで半透明グラデの縁取り文字を描画する

ImageMagickで半透明グラデの縁取り文字を描画するには、
以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.4-Q16
%im%\convert.exe -size 200x50 xc:none -channel RGBA -fill #FFFFFFFF +antialias -font Tahoma -gravity center -draw "font-size 30 text 0,0 'ImageMagick'" t1.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill none -stroke white -strokewidth 2 -draw "font-size 30 text 0,0 'ImageMagick'" -stroke none -fill black -strokewidth 0 -draw "font-size 30 text 0,0 'ImageMagick'" ( -size 1x1 xc:#7090E080 xc:#FFFF1040 +append -resize 2x1 ) -fx "p.r==0?0:v.p{0,0}" t2.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill none -stroke white -strokewidth 4 -draw "font-size 30 text 0,0 'ImageMagick'" -stroke black -fill black -strokewidth 2 -draw "font-size 30 text 0,0 'ImageMagick'" ( -size 1x1 xc:#7090E080 xc:#FFFF1040 +append -resize 2x1 ) -fx "p.r==0?0:v.p{0.25,0}" t3.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill none -stroke white -strokewidth 6 -draw "font-size 30 text 0,0 'ImageMagick'" -stroke black -fill black -strokewidth 4 -draw "font-size 30 text 0,0 'ImageMagick'" ( -size 1x1 xc:#7090E080 xc:#FFFF1040 +append -resize 2x1 ) -fx "p.r==0?0:v.p{0.50,0}" t4.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill none -stroke white -strokewidth 8 -draw "font-size 30 text 0,0 'ImageMagick'" -stroke black -fill black -strokewidth 6 -draw "font-size 30 text 0,0 'ImageMagick'" ( -size 1x1 xc:#7090E080 xc:#FFFF1040 +append -resize 2x1 ) -fx "p.r==0?0:v.p{0.75,0}" t5.png
%im%\convert.exe -size 200x50 xc:none -channel RGBA +antialias -font Tahoma -gravity center -fill none -stroke white -strokewidth 10 -draw "font-size 30 text 0,0 'ImageMagick'" -stroke black -fill black -strokewidth 8 -draw "font-size 30 text 0,0 'ImageMagick'" ( -size 1x1 xc:#7090E080 xc:#FFFF1040 +append -resize 2x1 ) -fx "p.r==0?0:v.p{1,0}" t6.png
%im%\convert.exe t6.png t5.png -composite t4.png -composite t3.png -composite t2.png -composite t1.png -composite sample184a.png
%im%\convert.exe sample8.jpg -gravity center sample184a.png -composite sample184b.jpg

この例では淡い青(#7090E0)と黄色(#FFFF10)の2色から半透明グラデーションにして
縁取りを描画しています。

出力画像(sample184a.png)


重ねあわせ例(sample184b.jpg)

Thursday, August 02, 2007

ImageMagickで任意の大きさの市松模様を作成する

ImageMagickで任意の大きさの市松模様を作成するには、
以下のバッチファイルを実行します。

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

rem 10x10の市松模様
%im%\convert.exe -size 100x100 xc:white -fx "(floor(i/10)+floor(j/10))%%2==0?#EFD8D2:#FFFFF0" sample183a.png

出力画像(sample183a.png)


rem 20x5の市松模様
%im%\convert.exe -size 100x100 xc:white -fx "(floor(i/20)+floor(j/5))%%2==0?#F8C749:#FCE769" sample183b.png

出力画像(sample183b.png)

ImageMagickで任意の色調の部分を斜線を描画する

ImageMagickで任意の色調の部分を斜線を描画するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.4-Q16
%im%\convert.exe sample3b.jpg -fx "tp=((i+j)%%5<3)?p*1.2:p; ((hue<0.08||hue>0.83)&&luminosity>0.98&&saturation<0.8)?tp:p" sample182a.png

元画像(sample3b.jpg)


出力画像(sample182a.png)


2008/07/13追記
ver6.4.0あたりからluminosityからlightnessに変わったので、以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.2-Q16
%im%\convert.exe sample3b.jpg -fx "tp=((i+j)%%5<3)?p*1.2:p; ((hue<0.08||hue>0.83)&&lightness>0.50&&saturation>0.8)?tp:p" sample182a.png

Sunday, July 22, 2007

ImageMagickで半透明矩形を描画して、その背景部分だけぼかす

ImageMagickで半透明矩形を描画して、その背景部分だけぼかすには、
以下のバッチファイルを実行します。

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

%im%\convert.exe -size 200x100 xc:none -fill white -draw "rectangle 10,10 90,90" ( sample8.jpg -blur 0x2 ) -compose srcin -composite temp1.png
%im%\convert.exe sample8.jpg temp1.png -composite -fill #50505080 -draw "rectangle 10,10 90,90" sample181a.png

元画像(sample8.jpg)


出力画像(sample181a.png)


関連項目
ImageMagickとPHPで画像の任意の領域をぼかして半透明の色を重ね合わせる

Sunday, July 15, 2007

ImageMagickで青色っぽい部分を透過させる

ImageMagickで青色っぽい部分を透過させるには、以下のバッチファイルを実行します。

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

rem 青色っぽい部分を透明に設定して透過PNG作成
%im%\convert.exe tree1.jpg -channel A -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?0:1" sample180a.png

rem グラデーションと透過PNGの重ね合わせ
%im%\convert.exe -size 300x225 gradient:#80ffff-#e0ff80 sample180a.png -composite sample180b.jpg

元画像(tree1.jpg)


透過PNG(sample180a.png)


グラデーションと重ね合わせた出力画像(sample180b.jpg)


2008/01/04追記
ver6.3.7では、以下のバッチファイルのように-matteを追加します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe tree1.jpg -matte -channel A -fx "(hue>0.47&&hue<0.69&&luminosity>0.5)?0:1" sample180a.png
%im%\convert.exe -size 300x225 gradient:#80ffff-#e0ff80 sample180a.png -composite sample180b.jpg

2008/07/13追記
ver6.4.0あたりからluminosityからlightnessに変わったので、以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.2-Q16

%im%\convert.exe tree1.jpg -matte -channel A -fx "(hue>0.47&&hue<0.69&&lightness>0.5)?0:1" sample180a.png

%im%\convert.exe -size 300x225 gradient:#80ffff-#e0ff80 sample180a.png -composite sample180b.jpg

Wednesday, July 11, 2007

ImageMagickでナビゲーション風に画像を重ね合わせる

ImageMagickでナビゲーション風に画像を重ね合わせるには、
以下のバッチファイルを実行します。

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

%im%\convert.exe sample2bg.jpg -extent 180x100 ( sample3b.jpg -channel A -fx "(j<h/2)&&(i<j*20*2/h)?0:p" -fx "(j>=h/2)&&(i<(20-(j-h/2)*20*2/h))?0:p" -fx "(j<h/2)&&(i>80+j*20*2/h)?0:p" -fx "(j>=h/2)&&(i>(100-(j-h/2)*20*2/h))?0:p" ) -geometry +80+0 -composite sample179a.jpg

元画像(sample2bg.jpg)


元画像(sample3b.jpg)


出力画像(sample179a.jpg)


Sunday, July 08, 2007

ImageMagickで斜線画像を生成する

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

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.4-Q16
%im%\convert.exe -size 100x100 xc:none -fx "((200+j-i)%%10<7)?#7090E0:#fbfaf7" sample178a.jpg
%im%\convert.exe -size 100x100 xc:none -fx "((i+j)%%20<6)?#C0B49D:#fbfaf7" sample178b.jpg

出力画像(sample178a.jpg)


出力画像(sample178b.jpg)



関連項目
ImageMagickで任意の大きさの市松模様を作成する
ImageMagickで任意の大きさの斜め四角模様を作成する
ImageMagickで、画像に半透明の斜線を重ね合わせる

Saturday, July 07, 2007

ImageMagickで境界を半透明グラデーションにして2つの画像を重ね合わせる - その3

ImageMagickで境界を半円状の半透明グラデーションにして2つの画像を重ね合わせるには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.4-Q16
%im%\convert.exe sample2bg.jpg -extent 170x100 ( sample3b.jpg -channel A -fx "i<((1-sin(pi*j/h))*10)?0:1" -fx "(((1-sin(pi*j/h))*10)<=i)&&(i<((1-sin(pi*j/h))*10+20))?(i-((1-sin(pi*j/h))*10))/20:p" ) -geometry +70+0 -composite sample177a.jpg

元画像(sample2bg.jpg)


元画像(sample3b.jpg)


出力画像(sample177a.jpg)


2008/01/04追記
Ver6.3.7では、以下のバッチファイルのように-matteを追加します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe sample2bg.jpg -extent 170x100 ( sample3b.jpg -matte -channel A -fx "i<((1-sin(pi*j/h))*10)?0:1" -fx "(((1-sin(pi*j/h))*10)<=i)&&(i<((1-sin(pi*j/h))*10+20))?(i-((1-sin(pi*j/h))*10))/20:p" ) -geometry +70+0 -composite sample177a.jpg

関連項目
ImageMagickで境界を半透明グラデーションにして2つの画像を重ね合わせる
ImageMagickで境界を半透明グラデーションにして2つの画像を重ね合わせる - その2
ImageMagickとPHPで、2つの画像を連結する

Friday, July 06, 2007

ImageMagickで境界を半透明グラデーションにして2つの画像を重ね合わせる - その2

ImageMagickで斜めの境界を半透明グラデーションにして2つの画像を重ね合わせるには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.4-Q16
%im%\convert.exe sample2bg.jpg -extent 180x100 ( sample3b.jpg -channel A
-fx "i<(10-10*j/h)?0:1" -fx "((10-10*j/h)<=i)&&(i<(20-10*j/h))?(i-(10-10*j/h))/10:p" ) -geometry +80+0 -composite sample176a.jpg


元画像(sample2bg.jpg)


元画像(sample3b.jpg)


出力画像(sample176a.jpg)

2008/01/04追記
Ver6.3.7では、以下のバッチファイルのように-matteを追加します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
%im%\convert.exe sample2bg.jpg -extent 180x100 ( sample3b.jpg -matte -channel A
-fx "i<(10-10*j/h)?0:1" -fx "((10-10*j/h)<=i)&&(i<(20-10*j/h))?(i-(10-10*j/h))/10:p" ) -geometry +80+0 -composite sample176a.jpg

関連項目
ImageMagickで境界を半透明グラデーションにして2つの画像を重ね合わせる
ImageMagickで境界を半透明グラデーションにして2つの画像を重ね合わせる - その3
ImageMagickで、2つの画像が交互にスクロールするアニメーションGIFを作成する
ImageMagickとPHPで、2つの画像を連結する

Thursday, July 05, 2007

ImageMagickで上部がカーブしたタブ画像を作成する

ImageMagickで上部がカーブしたタブ画像を作成するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.4-Q16
rem タブ画像1 - 非選択
%im%\convert.exe -size 100x10 gradient:#f4f4f4-#cccccc ( -size 100x20 xc:#cccccc ) -append -background none -wave -4x200 -gravity north -crop 100x25+0+0 +repage -extent 102x25 -gravity center -fill #707070 -pointsize 15 -font "c:/winnt/fonts/msmincho.ttc" -draw @lbl.txt sample172a.gif
rem タブ画像1 - 選択
%im%\convert.exe -size 100x10 gradient:#ffffdd-#f8c749 ( -size 100x20 xc:#f8c749 ) -append -background none -wave -4x200 -gravity north -crop 100x25+0+0 +repage -extent 102x25 -gravity center -fill #8c8769 -pointsize 15 -font "c:/winnt/fonts/msmincho.ttc" -draw @lbl.txt sample172b.gif
rem タブ画像1 - hover
%im%\convert.exe -size 100x10 gradient:#ffffdd-#fce769 ( -size 100x20 xc:#fce769 ) -append -background none -wave -4x200 -gravity north -crop 100x25+0+0 +repage -extent 102x25 -gravity center -fill #f29719 -pointsize 15 -font "c:/winnt/fonts/msmincho.ttc" -draw @lbl.txt sample172c.gif
rem 3つのボタン画像を連結
%im%\convert.exe sample172a.gif sample172b.gif sample172c.gif +append tab1.gif

lbl.txtには、以下の内容をUTF-8で保存します。
text 0,2 '詳細設定'

出力画像(tab1.gif)

Friday, June 22, 2007

ImageMagickで透過タブ画像を作成する

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

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

rem 元画像から下部分を切り出し
%im%\convert.exe sample10.jpg -gravity southwest -crop 300x20+0+0 +repage bar.png

rem タブ画像1 - 非選択
%im%\convert.exe -size 300x30 xc:none -stroke none -draw "fill #000000 font-size 12 text 32,16 'Home' fill #ffffff font-size 12 text 30,14 'Home'" ( +clone -background #000000 -shadow 40x2+3+3 ) +swap -background none -mosaic +tile -gravity northwest -crop 108x20+0+0 bar.png -insert 0 -composite -crop 108x20+0+0 +repage sample125a.gif
rem タブ画像1 - 選択
%im%\convert.exe -size 300x30 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 none -mosaic +tile -gravity northwest -crop 108x20+0+0 bar.png -insert 0 -composite -crop 108x20+0+0 +repage sample125b.gif
rem 透過タブ画像1 - hover
%im%\convert.exe -size 300x30 xc:none -fill #808080 -stroke #ffffff -draw "opacity 0.5 roundrectangle 0,0 99,29 8,8" +tile -stroke none -draw "fill #000000 font-size 12 text 32,16 'Home' fill #ffffff font-size 12 text 30,14 'Home'" ( +clone -background #000000 -shadow 40x2+3+3 ) +swap -background none -mosaic +tile -gravity northwest -crop 108x20+0+0 bar.png -insert 0 -composite -crop 108x20+0+0 +repage sample125c.gif
rem 3つの状態のタブ画像を連結
%im%\convert.exe sample125a.gif sample125b.gif sample125c.gif +append tab1.gif

背景画像(sample10.jpg)


出力画像(tab1,gif)

Saturday, June 16, 2007

ImageMagickで境界を半透明グラデーションにして2つの画像を重ね合わせる

ImageMagickで境界を半透明グラデーションにして2つの画像を重ね合わせるには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.4-Q16
rem 10ピクセルだけ重ねる
%im%\convert.exe sample2bg.jpg -extent 190x100 ( sample3b.jpg -channel A -fx "i<10?i/10:1" ) -geometry +90+0 -composite sample175b.jpg

元画像(sample2bg.jpg)


元画像(sample3b.jpg)


出力画像(sample175b.jpg)


2008/01/04追記
Ver6.3.7では、以下のバッチファイルのように-matteを追加します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.7-Q16
rem 10ピクセルだけ重ねる
%im%\convert.exe sample2bg.jpg -extent 190x100 ( sample3b.jpg -matte -channel A -fx "i<10?i/10:1" ) -geometry +90+0 -composite sample175b.jpg

関連項目
ImageMagickで境界を半透明グラデーションにして2つの画像を重ね合わせる - その2
ImageMagickで境界を半透明グラデーションにして2つの画像を重ね合わせる - その3
ImageMagickとPHPで、2つの画像を連結する


Friday, June 15, 2007

ImageMagickでグラデーションのかかった同心円の模様を描画する

ImageMagickでグラデーションのかかった同心円の模様を描画するには、
以下のバッチを実行します。

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

rem 白黒
%im%\convert.exe -size 150x150 xc:white -fx "(cos(sqrt(pow(75-i,2)+pow(75-j,2))/3)+1)/2*0.4+0.6" sample174a.png
rem 2色
%im%\convert.exe -size 150x150 xc:white ( xc:#20c332 xc:#ffff10 +append -resize 2x1 ) -fx "v.p{cos(sqrt(pow(50-i,2)+pow(100-j,2))/7)+1)/2*0.4+0.6,1}" sample174b.jpg

出力画像(sample174a.png)


出力画像(sample174b.jpg)

Tuesday, June 12, 2007

ImageMagickで文字列の中央をへこませる

ImageMagickで文字列の中央をへこませるには、
以下のバッチファイルを実行します。

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

%im%\convert.exe -pointsize 50 -fill #bbddff -font Tahoma label:ImageMagick -virtual-pixel background -background white -fx "p{i,(j-sin(pi*i/w)*0.8*h/2)/(1-sin(pi*i/w)*0.8)}" sample171.jpg

出力画像(sample171.jpg)


関連項目
ImageMagickで文字列の端を絞り込む

Friday, June 08, 2007

ImageMagickで鏡面映り込みを作成する - その4

ImageMagickで鏡面映り込みを作成するには、以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.4-Q16
rem 右側を若干暗くなるようにグラデーション適用
%im%\convert.exe sample4.jpg -fx "p*(1-i/(w*4))" -bordercolor #c0c0c0 -border 1x1 -channel RGBA sample4t.png
rem 反転&グラデーションをかけて
%im%\convert.exe sample4t.png -fx "p*j/h*0.8" -flip sample4t2.png
rem 縦に連結+台形変形+傾け
%im%\convert.exe sample4t.png sample4t2.png -append -virtual-pixel background -background black -fx "p{i*1.1,(j*w-i*h*0.05)/(w-i*0.1)}" -background none -shear 0x350 -gravity center -extent 220x220 sample170a.jpg

元画像(sample4.jpg)


出力画像(sample170a.jpg)

ImageMagickで画像を丸型に切り取って点線が回転するGIFアニメーションを作成する

ImageMagickで画像を丸型に切り取って点線が回転するGIFアニメーションを作成するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.4-Q16
%im%\convert.exe -size 100x100 xc:none -fill white -draw "circle 50,50 50,2" sample3b.jpg -compose srcin -composite -strokewidth 2 -fill none -stroke #c0b49d -draw "stroke-dasharray 4,4 stroke-dashoffset 7 circle 50,50 50,3" f1.png
%im%\convert.exe -size 100x100 xc:none -fill white -draw "circle 50,50 50,2" sample3b.jpg -compose srcin -composite -strokewidth 2 -fill none -stroke #c0b49d -draw "stroke-dasharray 4,4 stroke-dashoffset 6 circle 50,50 50,3" f2.png
%im%\convert.exe -size 100x100 xc:none -fill white -draw "circle 50,50 50,2" sample3b.jpg -compose srcin -composite -strokewidth 2 -fill none -stroke #c0b49d -draw "stroke-dasharray 4,4 stroke-dashoffset 5 circle 50,50 50,3" f3.png
%im%\convert.exe -size 100x100 xc:none -fill white -draw "circle 50,50 50,2" sample3b.jpg -compose srcin -composite -strokewidth 2 -fill none -stroke #c0b49d -draw "stroke-dasharray 4,4 stroke-dashoffset 4 circle 50,50 50,3" f4.png
%im%\convert.exe -size 100x100 xc:none -fill white -draw "circle 50,50 50,2" sample3b.jpg -compose srcin -composite -strokewidth 2 -fill none -stroke #c0b49d -draw "stroke-dasharray 4,4 stroke-dashoffset 3 circle 50,50 50,3" f5.png
%im%\convert.exe -size 100x100 xc:none -fill white -draw "circle 50,50 50,2" sample3b.jpg -compose srcin -composite -strokewidth 2 -fill none -stroke #c0b49d -draw "stroke-dasharray 4,4 stroke-dashoffset 2 circle 50,50 50,3" f6.png
%im%\convert.exe -size 100x100 xc:none -fill white -draw "circle 50,50 50,2" sample3b.jpg -compose srcin -composite -strokewidth 2 -fill none -stroke #c0b49d -draw "stroke-dasharray 4,4 stroke-dashoffset 1 circle 50,50 50,3" f7.png
%im%\convert.exe -size 100x100 xc:none -fill white -draw "circle 50,50 50,2" sample3b.jpg -compose srcin -composite -strokewidth 2 -fill none -stroke #c0b49d -draw "stroke-dasharray 4,4 stroke-dashoffset 0 circle 50,50 50,3" f8.png
%im%\convert.exe -set delay 10 f1.png f2.png f3.png f4.png f5.png f6.png f7.png f8.png -loop 0 sample166.gif

元画像(sample3b.jpg)


出力画像(sample166.gif)


Tuesday, June 05, 2007

ImageMagickで画像を三角形・台形に変形する

ImageMagickで画像を三角形・台形に変形するには、
以下のバッチを実行します。

元画像(sample8.jpg)



rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.4-Q16
rem 右三角%im%\convert.exe sample8.jpg -virtual-pixel background -background white -fx "p{i,(j*w-i*h*0.5)/(w-i)}" sample169a.png


出力画像(sample169a.png)





rem 右台形
%im%\convert.exe sample8.jpg -virtual-pixel background -background white -fx "p{i,(j*w-i*h*0.25)/(w-i*0.5)}" sample169b.png

出力画像(sample169b.png)





rem 左三角
%im%\convert.exe sample8.jpg -virtual-pixel background -background white -fx "p{i,(j*w-(w-i)*h*0.5)/(i+1)}" sample169c.png

出力画像(sample169c.png)





rem 左台形
%im%\convert.exe sample8.jpg -virtual-pixel background -background white -fx "p{i,(j*w-(w-i)*h*0.25)/((w+i)*0.5)}" sample169d.png

出力画像(sample169d.png)






rem 下三角
%im%\convert.exe sample8.jpg -virtual-pixel background -background white -fx "p{(i*h-j*w*0.5)/(h-j),j}" sample169e.png

出力画像(sample169e.png)






rem 下台形
%im%\convert.exe sample8.jpg -virtual-pixel background -background white -fx "p{(i*h-j*w*0.25)/(h-j*0.5),j}" sample169f.png

出力画像(sample169f.png)


rem 上三角
%im%\convert.exe sample8.jpg -virtual-pixel background -background white -fx "p{(i*h-(h-j)*w*0.5)/(j+1),j}" sample169g.png

出力画像(sample169g.png)


rem 上台形
%im%\convert.exe sample8.jpg -virtual-pixel background -background white -fx "p{(i*h-(h-j)*w*0.25)/((h+j)*0.5),j}" sample169h.png

出力画像(sample169d.png)


関連項目
ImageMagickで台形変形を行う