Я пытаюсь аннотировать некоторый текст на базовое изображение с помощью тени. Мне не нравятся результаты, которые я получаю при использовании параметра -shadow, поэтому я кладу текст, размываю его, затем снова кладу текст белым цветом, смещенным на несколько пикселей от тени. Вот команда, которую я использую:
convert base_image.jpg \
-font TT0590M_.ttf \
-fill gray30 \
-annotate +0+0 '' -gravity North \
-annotate +72+32 'ABCDEFGHIJKLM' \
-blur 0x4 \
-fill white \
-annotate +72+27 'ABCDEFGHIJKLM' \
combined.png
Моя проблема в том, что параметр -blur размывает не только первый слой текста, но и основное базовое изображение. Я хочу, чтобы размывался только первый слой текста, а не базовое изображение.
Я немного почитал об использовании стеков и попытался изолировать первый слой текста и команду размытия, используя \( \)
вокруг этой части, например, в следующем:
convert base_image.jpg \
-font TT0590M_.ttf \
-fill gray30 \
-annotate +0+0 '' -gravity North \
\( -annotate +72+32 'ABCDEFGHIJKLM' \
-blur 0x4 \) \
-fill white \
-annotate +72+27 'ABCDEFGHIJKLM' \
combined.png
Результаты те же — и тень текста, и лежащее в основе базовое изображение размываются. Боюсь, мне не очень повезло в понимании стеков или других команд, которые я должен использовать, чтобы получить эффект, который мне нужен.