gdslqs 发表于 2013-9-22 10:41:16

关于文本第一对齐点和文本外框的问题

本帖最后由 gdslqs 于 2013-9-22 10:50 编辑

现有一些单行文字的疑问,请大家帮忙解惑:
文字为左对齐方式;用textbox找到文字的矩形外框四个角点和外框高度、宽度。
1、文字高度为300,为什么矩形外框的高度为242,两者是什么关系(由一个值求另一值)?
2、第一对齐点和矩形外框左下角点为什么不是重合的,他们的关系怎么求(由一点求另一点)
?                        

ll_j 发表于 2013-9-22 11:15:12

第一对齐点和textbox的关系是没法直接求得的。
第一对齐点是一个“词”的特征点,是一个“设定”的基点,而textbox的左下角、右上角点是这个“词”所占的实际位置,两者的关系随这种字体中形文件的定义而确定,不同的字体、不同的文字都会不同,无法直接得到。

gdslqs 发表于 2013-9-22 11:23:07

其实我这个问题,是用entmake生成文字时产生的,我想用entmake生成的文字外框左下角点在一指定位置,而entmake生成文字只能用对齐点,哪咋整呢?

ll_j 发表于 2013-9-22 12:41:14

gdslqs 发表于 2013-9-22 11:23 static/image/common/back.gif
其实我这个问题,是用entmake生成文字时产生的,我想用entmake生成的文字外框左下角点在一指定位置,而entm ...

稍有点麻烦,不过是可以做到的,就是先“虚拟”一个文本,然后根据这个“虚拟”文本的左下角点确定entmake文本的基点偏移值。
所谓“虚拟”文本,就是直接对文本值进行textbox运算,如:
(textbox '((1 . "1234") (40 . ...))) 这里的表实际上就是entmake所需要的实体表。

自贡黄明儒 发表于 2013-9-22 12:51:44

尽管字高和包围盒高度不一致,是不是可以考虑文本中点是不变的?

fl202 发表于 2013-9-27 10:35:15

gdslqs 发表于 2013-9-22 11:23 static/image/common/back.gif
其实我这个问题,是用entmake生成文字时产生的,我想用entmake生成的文字外框左下角点在一指定位置,而entm ...

我觉得你可以改个思路,先entmake后算出文字外框左下角点,然后move文字到你的指定位置。
页: [1]
查看完整版本: 关于文本第一对齐点和文本外框的问题