日期:2014-05-18  浏览次数:20893 次

[绝望!]GDI+中如何获得多行文本的每一行字符串?
例如有字符串“aaaaabbbbb”在GDI+中DrawString出来
当外接矩形rect宽度变小,高度变大的时候,上面的字符串有可能显示为
aaa
aabbbbb

我现在想通过rect的大小或者别的什么方法来获得“aaa”和“aabbbbb”
尽了最大努力尝试各种方法,无解!
请大家帮忙出个注意,谢谢!

------解决方案--------------------
你用measurestring测量字符串宽度,然后和RECT宽度对比

这种操作俺在打印组件里做多了的...
------解决方案--------------------
1、用measurestring计算英文字母的宽度和汉字的宽度 p1/p2
2、计算总宽度 w
3、估算每行占用的字节 w/p1
4、在字符串的w/p1位置上看是汉字还是英文,向后截取
5、再次计算宽度,确定是否需要减少一个字符
6、循环4