dhxf 发表于 2004-4-9 21:52:00

[编程申请]字符串中间点选增加空格

如何实现字符串中间点选增加空格;


有兴趣高手试写;谢谢

efan2000 发表于 2004-4-9 22:09:00

思路应该是从文字的左边算起,到指定点处的字符数是多少,然后取出该处左边的字符+空格+右边的字符。难点就在于该点左边字符数的确定。

masterlong 发表于 2004-4-9 23:06:00

上面说的难点不是难点


对一个确定的文字目标


可以取出高度与宽度


估算出一个大致的字符数n


再计算出文字前n个字符的长度


然后与实际长度对比再上下调整


就可以确定空格的插入位置


       


楼主的要求是在字符串中间点选增加空格


这有两种理解方式


一种是单选目标文字


根据目标被选择时的位置去插入空格


用双元表就可以解决


另一种是打算直接点在文字“空白”处


也就是说是想点在某个位置


由程序搜寻附近的文字然后插入空格


这就比较麻烦


文字高度可能极大可能极小


不容易确定操作对象


只能遍历图中所有文字


过滤锁定和冻结层内文字


再逐个校验点是否在“文字框内”

无痕 发表于 2004-4-10 04:32:00

楼上分析的不错


不过写这个程序好像实用性差点

efan2000 发表于 2004-4-10 13:53:00

单行文字比较好处理,但如果是多行文字呢,它可以有自己的特性,比如内部不同字符都可以有不同的字体、不同的大小。这时确定字符数就比较困难了。

雪山飞狐_lzh 发表于 2004-4-10 18:50:00

可以建立一个临时Text对象,


比较两个Text对象的外框,可能精确一点


只是个人的想法


提供参考

masterlong 发表于 2004-4-11 00:33:00

回<A name=11180><FONT color=#000066><B>efan2000</B></FONT></A>


多行文字不是问题


可以先执行一次炸开程序


计算完成恢复再做插入

myfreemind 发表于 2004-4-11 18:21:00

两个文字之间的间隙距离也要算出来!

dhxf 发表于 2004-4-13 21:32:00

是这样的---关于这样命令的用处我解释一下:


       


电气做系统图的时候,有个负荷计算:自动会列出五行文字;现在我可以把这5行文字变成单行,变单行后文字之间没空格,不符合下一步使用要求;

无痕 发表于 2004-4-14 23:34:00

现在我可以把这5行文字变成单行,


你在这一步就解决不好么?你用什么方法来变单行?那五行是什么样的?含空格么?最好贴个图上来看看。
页: [1] 2
查看完整版本: [编程申请]字符串中间点选增加空格