屋顶打字通(二)--DrawString和MeasureString

在处理中英文显示的问题,显示文字的部分是通过GDI plus画出来的,而且是一字符一个字符画出来,那样就涉及到字符之间的间隔问题,中文是方块字,而且基本是正方形,间距的掌握,完全是通过我不断修改数值改输出了,很笨很笨的方法,然而,处理英文字符的时候,就看到了区别,例如:l 和 m画出来的时候就不可以一视同仁了,长度明显不一致,如果以"l"的宽度为间距,那么其他像"m"的字符就会显得很紧凑,反之就会宽松,于是动态的控制间隔就显得很必要了,那么我要看看,测量的函数有哪些,就查询到了MeasureString这个函数,为了确认测量的是否精确,我用实例给的画出实线矩形框,看看测量的怎么样了,上图:


测量的还算准确,这样就解决了我无法确定间距的问题。

RectF boundRect;

graphics.MeasureString(&tmpwchar, 1, &font, pointF, &boundRect);

boundRect里面就有X、Y轴,和宽高Width Height。

猜你喜欢

转载自blog.csdn.net/Caeser110/article/details/52738014
今日推荐