@echo off setlocal enabledelayedexpansion @REM Loop over all arguments for %%x in (%*) do ( SET final_img=%%~nx_s%%~xx SET scratch=%%~nx_scratch%%~xx copy /Y "%%~x" "!final_img!" copy /Y "%%~x" "!scratch!" @REM Scale up now and scale back down at the end to smooth everything out @REM Dilate a little to get the edge offset magick mogrify -filter spline -resize 200%% ^ -morphology Dilate Octagon:3 ^ !scratch! @REM Dilate a lot to get the edge thickness magick mogrify -filter spline -resize 200%% ^ -morphology Dilate Octagon:8 ^ !final_img! @REM Subtract to get just the edge magick composite !scratch! !final_img! -compose difference !final_img! @REM Original picture has alpha values up to 77. Now scale it up to full 255 magick mogrify -channel A -level 1%%,30%% +channel ^ -filter Lagrange -resize 50%% ^ !final_img! del !scratch! )