Imagemagick 仅注释旋转文本

问题描述 投票:0回答:1

我在更大的命令行中有以下 Imagemagick 命令行。我正在尝试将此文本覆盖在图像上。它工作得很好,直到我添加

-rotate 90
然后它会将整个图像旋转 90°。我只想将此文本旋转 90°,没有别的。我将此行放在括号中,但没有运气。任何建议将不胜感激

" \( -background transparent -fill 'rgba(255,255,255,.3)' -gravity south -rotate -90 -pointsize 70 -font 'High_School_USA_Serif.ttf' \
 -annotate +350+40 '#66789' \) ";

下面的完整评论行(更新/简化)...

"convert -size 1800x1800 xc:'#0080ff' ../trait_assets/clothes/F.A.S.T._Suit.png -composite   
\( ../trait_assets/name_patch.png -font 'High_School_USA_Serif.ttf' -fill white -pointsize 150 -gravity center \    
-draw \"text 0,20 'JACKSON'\" \    -matte -virtual-pixel transparent -resize 210x -gravity south -geometry -94+80 \    
-background 'rgba(0,0,0,0)' -rotate -2 \) -composite    
\( -background transparent -fill 'rgba(255,255,255,.3)'  -gravity south -pointsize 60 -font 'High_School_USA_Serif.ttf' \
 -annotate -70+6 \"#6577\" \)  
temp_images/main.png "

imagemagick
1个回答
0
投票

通过谷歌来到这里寻找同样的问题。尝试在 ImageMagic 文档中跟踪 OP 中的有用注释,并在 命令行选项索引,“-annotate”部分

中找到它
-annotate degrees text
-annotate XdegreesxYdegrees text
-annotate XdegreesxYdegrees{+-}tx{+-}ty text
-annotate {+-}tx{+-}ty text

用文本注释图像

这可以方便地用文本注释图像。为了更精确地控制 文本注释,使用-draw。

X 度和 Y 度值控制应用于文本的剪切,而 tx 和 ty 是给出文本相对于任意重力设置的位置的偏移量, 默认为图像的左上角。

使用 -annotate Degrees 或 -annotate Degreesx Degrees 会产生文本的未剪切旋转。 [...]

如果省略 tx 和 ty,它们默认为 0。这使得文本的左下角变成图像的左上角,这可能是不可取的。在这种情况下添加 -gravity 选项会带来不错的结果。

所以你基本上必须写

convert in.png -annotate 90 "my text" out.png

将文本置于左上角并旋转 90 度或

convert in.png -annotate 90x90+10+10 "my text" out.png

另外给予一些补偿。在第二种变体中,如果您不重复“90”,而是给出两个不同的数字,则按照引用页面上找到的方程式,您将得到扭曲的文本

(x', y') = (x, y) * [cos a, sin a ; -sin b, -cos b]

示例:

convert -gravity center -pointsize 30 -size 300x300 canvas:white \
  -annotate 0 test1 \
  -annotate 50 test3 \
  -annotate 60x60+100+100 test3 \
  -annotate 60x90-100+100 test4 out.png

© www.soinside.com 2019 - 2024. All rights reserved.