获取图像上文本的几何形状

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

我想以如下方式在图像上绘制文本:

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绘制。

image-processing imagemagick
2个回答
2
投票

有几种简单的方法可以使用 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 进行测试的。如果您使用实际图像和这些命令,我不确定为什么您会得到不同的结果。


0
投票

abc 的边 ab 和 ac 的中点交于分别延长边 e 和 f 以及 ab 和 ac 所产生的两个外侧边的平分线。

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