Monthly Archives: 8月 2015

notes

ImageMagickで一定範囲を別画像で塗りつぶし

  • Imagemagickをインストールした場所だけ書き換えること
  • 塗りつぶしたい(一時的に透明にしたい)部分を黒で塗りつぶしたファイルをalpha.pngとする
  • 下に敷いて透明部分から覗かせたいファイルを00.pngとする
rem このバッチが存在するフォルダをカレントに
pushd %0\..
cls

set composite="(インストールした場所)\composite.exe"

for /F "usebackq" %%i in (`dir /s /b *.png`) do %composite%  -compose CopyOpacity alpha.png %%i  %%~ni-alpha.png

rem いらない *-alpha.pngを削除する
for /F "usebackq" %%i in (`dir /s /b 00-alpha.png`) do del %%i
for /F "usebackq" %%i in (`dir /s /b alpha-alpha.png`) do del %%i

rem 00.pngの上に-alphaを重ねていく
for /F "usebackq" %%i in (`dir /s /b *-alpha.png`) do %composite% -compose over %%i 00.png %%~ni-comp.png

rem 仮出力ファイルを削除する
for /F "usebackq" %%i in (`dir /s /b *-alpha.png`) do del %%i

pause
exit

既に塗りつぶしたい部分を切り抜いた場合はこっち

rem このバッチが存在するフォルダをカレントに
pushd %0\..
cls

set composite="(インストールした場所)\composite.exe"

rem 00.pngの上に-alphaを重ねていく
for /F "usebackq" %%i in (`dir /s /b *.png`) do %composite% -compose over %%i 00.png %%~ni-comp.png

rem いらない 00-comp.pngを削除する
for /F "usebackq" %%i in (`dir /s /b 00-comp.png`) do del %%i

pause
exit