Когда вам нужны чистые края эффекта, который вы создаете с помощью ImageMagick, вы можете удвоить размер входного изображения, запустить операции, а затем изменить его размер до исходного входного размера. Выполнение операций занимает больше времени, но результат может быть существенно улучшен. Вот пример команды...
convert bomb-source.png -write mpr:in -resize 200% \
-channel A -morphology dilate disk:38 +channel \
-fill green -colorize 100 -resize 50% mpr:in -composite result.png
Эта команда начинается с чтения входного изображения и сохранения его копии в регистре памяти с именем mpr:in.
Затем он изменяет размер ввода до 200% и использует -morphology для расширения формы примерно на 38 пикселей. Это сработает примерно до 19 пикселей после того, как изображение будет уменьшено до исходного размера.
Затем он раскрашивает эту новую фигуру, чтобы сделать ее зеленой, и изменяет ее размер на 50%, то есть возвращается к исходному размеру.
Команда завершается тем, что возвращает эту mpr:in копию исходного изображения и компонует ее поверх измененного зеленого фрагмента.
Увеличение размера, работа над этим и уменьшение его после изменения называется суперсэмплингом. Это распространенная техника, которая приводит к более гладким краям, но достигается за счет скорости.
Отредактировано для добавления выходного изображения... ![введите здесь описание изображения](https://i.stack. imgur.com/ruw8D.png)
person
GeeMack
schedule
03.06.2019
convert source.png -background '#2a7940' -alpha background -channel A -blur 9x11 stroked.png
не воспроизводит изображение, которое вы показываете! - person fmw42   schedule 03.06.2019@sngjuk
. В Imagemagick 7 при размытии альфа-канал будет размыт, если вы не добавите -channel rgb перед -blur, а затем +channel после этого. - person fmw42   schedule 04.06.2019