Как сделать эффект размытия краев плавным в imagemagick?
Вот исходное изображение:
Команда imagemagick, которую я пробовал:
convert ddd.png -alpha set -virtual-pixel transparent \
-channel A -blur 0x10 -level 0,90% +channel \
-background transparent -layers flatten edge_blured.png
На выходе края размытого изображения обрезаются.
У меня вопрос: как сделать края ровными?
Я с нетерпением жду вашей помощи. Большое спасибо.
1 ответ
Это локализованное событие исходного изображения. Отсечение происходит из-за того, что вы отрегулировали альфа-канал, а не под данными альфа-изображения.
convert ddd.png -alpha off ddd_no_alpha.png
Применив измененный альфа-канал к этому изображению, вы увидите, что недостаточно фона, чтобы покрыть новое пространство, а также недостающий квадрат в правом нижнем углу.
Я бы рекомендовал изолировать канал изображения + эффекты для новой маски изображения.
convert ddd.png -alpha extract -blur 0x10 -alpha off mask.png
А затем восстановить исходное изображение с настроенным альфа-каналом.
convert -size 550x550 'xc:#D0BCBE' mask.png -alpha off \
-compose CopyOpacity -composite edge_blured.png