我想以如下方式在图像上绘制文本:
convert -quality 100 -font Oswald-Regular -pointsize 515 -fill black -draw "text 1339.0,1099 'some text'" /tmp/ascript.png /tmp/ascript.png
我需要通过上述参数(大小、字体、文本)了解文本的尺寸。我怎样才能得到它?
我尝试过这样的事情:
convert -size 5000x1500 xc:lightblue -font Oswald-Regular -pointsize 515 -fill none -undercolor white -annotate +20+100 'some text' -trim info:
但它给出了错误的结果:
xc:lightblue XC 1834x250 5000x1500+19+0 16-bit sRGB 0.010u 0:00.000
.
根据这3个参数(字体、大小、文本)获取绘制图像的尺寸的正确方法(或工作方法)是什么?
我没有严格绑定ImageMagick,它可以是Linux shell的任何命令行工具,但是,文本将通过convert绘制。
有几种简单的方法可以使用 ImageMagick 和这样的命令来获取尺寸...
convert -size 5000x1500 xc:lightblue -font Oswald-Regular -pointsize 515 \
-fill none -undercolor white -annotate +20+100 'some text' \
-format "%[@]\n" info:
使用 FX 转义符“%@”作为“info:”输出的格式化字符串。它将显示IM对修剪后宽度、高度、水平偏移和垂直偏移的计算,如“WxH+X+Y”。
这个类似的命令只是给出修剪文本的宽度和高度......
convert -size 5000x1500 xc:lightblue -font Oswald-Regular -pointsize 515 \
-fill none -undercolor white -annotate +20+100 'some text' \
-trim +repage -format "%[w]x%[h]\n" info:
这将修剪文本,使用“+repage”重置分页几何形状,然后输出显示“WxH”的字符串。
––– 编辑添加–––
我用这些命令尝试了你的图像with_text.png。每个命令后立即输出...
convert with_text.png -format "%[@]\n" info:
1807x389+512+115
convert with_text.png -trim +repage -format "%[w]x%[h]\n" info:
1807x389
这些是在 Windows 10 上的 ubuntu bash 上使用 IMv6.8.9-9 进行测试的。如果您使用实际图像和这些命令,我不确定为什么您会得到不同的结果。
abc 的边 ab 和 ac 的中点交于分别延长边 e 和 f 以及 ab 和 ac 所产生的两个外侧边的平分线。