是否有可能以某种方式得到一个用图像magick绘制的文本的宽度?
我当前的转换命令如下所示:
convert -size 720x480 -background#000 xc:black -fill white -stroke 白色 -font Arial -pointsize 18 \ -draw" text 72,370' NavP1'" \ -font Arial -pointsize 18 \ -draw" text,''" \ -font Arial -pointsize 18 \ -draw" text,''" \ -font Arial -pointsize 18 \ -draw" text 370,370' Extras'" \ -font Arial -pointsize 18 \ -draw" text 430,370' opt'" \ -font Arial -pointsize 18 \ -draw" text 550,370' NavP1'" \ C:\ xampp \ htdocs \ labelText.bmp
我是以编程方式完成此操作,并希望根据我有多少导航点将导航点对齐并相互对齐
(我从php formular / database获取导航点的数量)。
这是一个关于我的意思和它应该是什么样子的草图
________________________________________
| |
| |
| |
| navp1 navp2 |
|_______________________________________|
________________________________________
| |
| |
| |
| navp1 navp2 navp3 |
|_______________________________________|
我对该图像有一个固定的宽度(720px)。
因此,我有最少2个导航点,最多6个导航点。
我的想法是,如果我能得到每个导航(文本/单词)点的宽度,我可以正确计算并对齐点。
但是我知道找不到能够做到这一点的功能。
我试过Mark Setchell,但我的命令似乎有错误
convert -debug annotate -size 720x480 -background#000 xc:black -fill white -stroke white \ -font Arial -pointsize 18 \ -draw" text 72,370 ' NAV1'" \ -font Arial -pointsize 18 \ -draw" text 180,370' nav2'" \ -font Arial -pointsize 18 \ -draw" text 430,370' nav3'" \ -font Arial -pointsize 18 \ -draw" text 550,370' nav4'" \ C:\ xampp \ htdocs \ test.bmp
但是我收到以下错误消息:
没有定义图像' -background' @ 误差/ convert.c / ConvertImageCommand / 325
答案 0 :(得分:0)
我不确定我完全理解你在寻找什么,但我认为获得字体指标可能会有所帮助。试试这个并在开始“Metrics:”的行中查找所需的所有数字:
convert -debug annotate -size 720x480 -background red xc:black -fill white -stroke white -font Arial -pointsize 18 -draw "text 82,370 'Nav P1'" a.png
<强>输出强>
2016-06-03T09:50:12+01:00 0:00.010 0.010u 6.9.4 Annotate convert[85474]: annotate.c/RenderFreetype/1421/Annotate
Font /Library/Fonts/Arial.ttf; font-encoding none; text-encoding none; pointsize 18
2016-06-03T09:50:12+01:00 0:00.020 0.010u 6.9.4 Annotate convert[85474]: annotate.c/GetTypeMetrics/843/Annotate
Metrics: text: Nav P1; width: 58; height: 21; ascent: 16; descent: -4; max advance: 36; bounds: 1.95312,0 6.70312,14; origin: 59,0; pixels per em: 18,18; underline position: -4.5625; underline thickness: 2.34375
2016-06-03T09:50:12+01:00 0:00.020 0.010u 6.9.4 Annotate convert[85474]: annotate.c/RenderFreetype/1421/Annotate
Font /Library/Fonts/Arial.ttf; font-encoding none; text-encoding none; pointsize 18