EDA365电子工程师网
标题:
[求助]请问怎么精确识别文字边框??
[打印本页]
作者:
361553894
时间:
2015-10-26 08:37
标题:
[求助]请问怎么精确识别文字边框??
目前做法是
Text = text->text
num = strlen(Text)
block = atoi(text->textBlock)
font = axlGetParam(sprintf(nil "paramTextBlock:%d" block))
charSpace = font->charSpace
height = font->height
photoWidth = font->photoWidth
width = font->width
origin = text->xy
originX = car(origin)
originY = cadr(origin)
swidth = num*width + (num - 1)*charSpace
复制代码
然后根据originX、originY、swidth和height确定文字的左下,右下,右上,左上四个坐标点,然后根据axlPolyFromDB和axlDBCreateShape创建能包住文字的shape框
但是"C”“1”“4”“_”这类的比较特殊,都会超出或者不到边框
请问有什么好办法能解决么???
当然,前提是15.5也能使用的
作者:
deargds
时间:
2015-10-27 11:30
简单的方法就是将特殊字符分类,占位不同的区别开,复杂的方法就是要需研究VECTORFONT的格式来获取TEXT实际的占位。
作者:
361553894
时间:
2015-10-28 09:00
deargds 发表于 2015-10-27 11:30
简单的方法就是将特殊字符分类,占位不同的区别开,复杂的方法就是要需研究VECTORFONT的格式来获取TEXT实际 ...
[attach]103825[/attach][attach]103826[/attach]
这就是目前的效果,针对不同的Width和photoWidth进行原点和首尾不同字符字宽的修正
[attach]103829[/attach]
这个就是研究出来的字宽修正表,实际字宽还与Width和photoWidth相关
欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/)
Powered by Discuz! X3.2