roycecim 发表于 2009-10-19 11:05:00

[求助]如何求出DBText单行文本的长度?? 已解决

本帖最后由 作者 于 2009-10-19 15:25:18 编辑 <br /><br /> <p>查了很多资料,说是用&nbsp; DBText.GeometricExtents.MaxPoint.X - DBText.GeometricExtents.MinPoint.X 的很多,不过这种方法得出的值貌似不是DBText的长度。 那么如何才能正确得出DBText中文本的长度呢?还有 如何得出 DBText中文本的宽度比例?</p>

雪山飞狐_lzh 发表于 2009-10-19 11:08:00

<p>取GeometricExtents要先设置DBText的角度为0</p><p>宽度比例:<a href="mk:@MSITStore:C:\Documents%20and%20Settings\Administrator\桌面\arxmgd.chm::/Autodesk_AutoCAD_DatabaseServices_DBText_WidthFactor.html">WidthFactor</a>&nbsp;</p>

roycecim 发表于 2009-10-19 13:12:00

本帖最后由 作者 于 2009-10-19 15:24:33 编辑 <br /><br /> <p>比如 我用的DBText的 <a href="mk:@MSITStore:C:\Documents%20and%20Settings\Administrator\桌面\arxmgd.chm::/Autodesk_AutoCAD_DatabaseServices_DBText_WidthFactor.html">WidthFactor</a>&nbsp;=1.0 ,而直到DBText中字符串的个数也就是string的长度len,DBText的Height属性值是height,如何求出DBText的长度呢,直接用 double length = <a href="mk:@MSITStore:C:\Documents%20and%20Settings\Administrator\桌面\arxmgd.chm::/Autodesk_AutoCAD_DatabaseServices_DBText_WidthFactor.html">WidthFactor</a>&nbsp;* len * height吗??</p><p>已解决 果然是 double length = <a href="mk:@MSITStore:C:\Documents%20and%20Settings\Administrator\桌面\arxmgd.chm::/Autodesk_AutoCAD_DatabaseServices_DBText_WidthFactor.html">WidthFactor</a>&nbsp;* len * height</p>

雪山飞狐_lzh 发表于 2009-10-19 16:29:00

<p>字体样式不一样,DBText的长度也是不一样的</p>

ooo 发表于 2009-10-27 16:35:00

怎样获取不同样式的字体长度?

雪山飞狐_lzh 发表于 2009-10-27 20:11:00

<p>二楼不是有解决方法么</p>

houlinbo 发表于 2010-1-5 16:11:00

double length =&nbsp;&nbsp;<a href="mk:@MSITStore:C:\Documents%20and%20Settings\Administrator\桌面\arxmgd.chm::/Autodesk_AutoCAD_DatabaseServices_DBText_WidthFactor.html"><font color="#000000">WidthFactor</font></a>&nbsp;&nbsp;* len * height&nbsp;&nbsp;&nbsp; 这样不行的,如果是字母,数子汉字等混在一起,这样就不能测出确切的长度,取文字的范围点应该更精确一些

雪山飞狐_lzh 发表于 2010-1-5 23:01:00

<p>那就</p><p>DBText.GeometricExtents.MaxPoint.X - DBText.GeometricExtents.MinPoint.X</p>

sieben 发表于 2010-1-17 19:26:00

<p>问楼上版主:若文字是斜的的呢?呵呵!(Sorry!之前没有看到版主在二楼的回复)</p><p>DBText 用 DBText.GeometricExtents.MaxPoint.X - DBText.GeometricExtents.MinPoint.X应该没有问题,</p><p>但若是MText好象就问题多多!</p>

l510319004 发表于 2012-11-15 13:53:34

Math.Sqrt(Math.Pow((DBText.GeometricExtents.MaxPoint-DBText.GeometricExtents.MinPoint).Length,2)-Math.Pow(DBText.Height,2))
页: [1]
查看完整版本: [求助]如何求出DBText单行文本的长度?? 已解决