Как повернуть текст с помощью imagemagick? - PullRequest
0 голосов
/ 13 октября 2018

У меня длинное изображение исходное изображение , и я хочу добавить текст к каждому изображению, но при добавлении текста в книгу у меня не получилось, окончательное изображение и код:

the final image

convert src.jpg -gravity north -pointsize 53 -fill white    -annotate +0+520   "I love you,don't leave me " -annotate +0+1146   "Do not be a programmer,ok?" -annotate +0+1772   "fuck u!" -annotate +0+3024  "too simple "  -draw 'translate 340,3340  rotate 21 text 0,0 "Javascript Action"'  final.jpg


Может ли кто-нибудь помочь?Спасибо

1 Ответ

0 голосов
/ 13 октября 2018

Для вашего примера, вы должны использовать -annotate для всех размещений текста и поворотов в Imagemagick, а не использовать -draw для последнего.Это будет держать ваш последний текст от исчезновения изображения.Попробуйте это:

convert src.jpg -gravity north -pointsize 53 -fill white -annotate +0+520 "I love you,don't leave me " -annotate +0+1146 "Do not be a programmer,ok?" -annotate +0+1772 "xxxx x" -annotate +0+3024 "too simple " -gravity north -annotate 21x21+0+3340 "Javascript Action" final1.jpg


enter image description here

См. https://imagemagick.org/script/command-line-options.php#annotate

Пожалуйста, не используйте вульгарности в примерах.

Если вы хотите, чтобы текст был перенесен, вам нужно использовать заголовок: создать новое изображение с прозрачным фоном для каждого текста.Затем скомпонуйте новое текстовое изображение на фоновое изображение в нужных местах.Вы можете контролировать время переноса, используя аргумент -size Wx.Здесь я использую всю ширину вашего изображения, то есть, размер 1000x.

convert src.jpg \
-pointsize 53 -background none -fill white -size 1000x \
\( -gravity center caption:"I love you,don't leave me" \) -gravity north -geometry +0+420 -compose over -composite \
\( -gravity center caption:"Do not be a programmer,ok?" \) -gravity north -geometry +0+1046 -compose over -composite \
\( -gravity center caption:"xxxx x" \) -gravity north -geometry +0+1672 -compose over -composite \
\( -gravity center caption:"too simple" \) -gravity north -geometry +0+2924 -compose over -composite \
\( -gravity center caption:"Javascript Action" -rotate 21 \) -gravity north -geometry +0+3240 -compose over -composite \
final2.jpg


enter image description here

Или чтобы сделать его более раннимчем ширина вашего изображения, я установил -size 500x

convert src.jpg \
-pointsize 53 -background none -fill white -size 500x \
\( -gravity center caption:"I love you,don't leave me" \) -gravity north -geometry +0+420 -compose over -composite \
\( -gravity center caption:"Do not be a programmer,ok?" \) -gravity north -geometry +0+1046 -compose over -composite \
\( -gravity center caption:"xxxx x" \) -gravity north -geometry +0+1672 -compose over -composite \
\( -gravity center caption:"too simple" \) -gravity north -geometry +0+2924 -compose over -composite \
\( -gravity center caption:"Javascript Action" -rotate 21 \) -gravity north -geometry +0+3240 -compose over -composite \
final3.jpg


enter image description here

См.

https://imagemagick.org/Usage/text/#caption https://imagemagick.org/Usage/layers/#convert

ДОПОЛНЕНИЕ:

Чтобы размыть текст, просто добавьте -blur после заголовка:

convert src.jpg \
-pointsize 53 -background none -fill white -size 500x \
\( -gravity center caption:"I love you,don't leave me" -blur 0x3 \) -gravity north -geometry +0+420 -compose over -composite \
\( -gravity center caption:"Do not be a programmer,ok?" -blur 0x3 \) -gravity north -geometry +0+1046 -compose over -composite \
\( -gravity center caption:"xxxx x" -blur 0x3 \) -gravity north -geometry +0+1672 -compose over -composite \
\( -gravity center caption:"too simple" -blur 0x3 \) -gravity north -geometry +0+2924 -compose over -composite \
\( -gravity center caption:"Javascript Action" -blur 0x3 -rotate 21 \) -gravity north -geometry +0+3240 -compose over -composite \
final4.jpg


enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...