如何使用 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
我有一张长图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