如何使用 imagemagick 旋转文本?

How to rotate text with imagemagick?

我有一张长图source pic,我想给每个子图添加文字,但是给书添加文字时,我失败了,最终图片和代码:

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


任何人都可以帮忙吗?谢谢

对于您的示例,您应该对 Imagemagick 中的所有文本放置和旋转使用 -annotate,而不是对最后一个使用 -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


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

请不要在示例中使用粗俗语言。

如果你想要文字换行,那么你需要使用 caption: 为每个文字创建一个具有透明背景的新图像。然后在所需位置将新文本图像合成到背景图像上。您可以通过 -size Wx 参数控制它何时换行。这里我使用你图片的全宽,即-size 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


或者为了让它比你的图像宽度更早地换行,我设置了 -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


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