Wednesday, September 05, 2007

ImageMagickで指定の円の外側を徐々に引き伸ばす

ImageMagickで指定の円の外側を徐々に引き伸ばすには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.5-Q16
%im%\convert.exe sample6.jpg -fx "cx=50; cy=50; rc=20; dx=cx-i; dy=cy-j; pr=atan2(dx,dy)+pi/2; dp=sqrt(dx^2+dy^2); dm=dp-sqrt(dp-rc); dp>rc?p{cx+cos(pr)*dm,cy-sin(pr)*dm}:p" sample213a.png

上記バッチでは、中心50,50で半径20の円の外側が引き伸ばされています。

元画像(sample6.jpg)


出力画像(sample213a.png)


下のバッチでは、中心100,150、半径60ピクセルの円の外側が引き伸ばされています。
%im%\convert.exe sf.jpg -fx "cx=100; cy=150; rc=60; dx=cx-i; dy=cy-j; pr=atan2(dx,dy)+pi/2; dp=sqrt(dx^2+dy^2); dm=dp-(dp-rc)/3; dp>rc?p{cx+cos(pr)*dm,cy-sin(pr)*dm}:p" sample213b.png

元画像(sf.jpg)


出力画像(sample213b.png)



No comments: