Как сделать эффект размытия краев плавным в imagemagick?

Вот исходное изображение:SRC изображение

Команда 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

ddd_no_alpha.png

Применив измененный альфа-канал к этому изображению, вы увидите, что недостаточно фона, чтобы покрыть новое пространство, а также недостающий квадрат в правом нижнем углу.

Я бы рекомендовал изолировать канал изображения + эффекты для новой маски изображения.

convert ddd.png -alpha extract -blur 0x10 -alpha off mask.png

mask.png

А затем восстановить исходное изображение с настроенным альфа-каналом.

convert -size 550x550 'xc:#D0BCBE' mask.png -alpha off \
        -compose CopyOpacity -composite edge_blured.png

edge_blured.png

Другие вопросы по тегам