C# DrawString函数,怎么有效限制绘制文字的宽度?

比如我有一个200像素宽的矩形,同时有一个在规定字体下宽度为150像素的字符串,但是我只想绘制字符串的前100像素,多余的不画(但即使断开处只有半个字也要把那半个字画出来)。
我知道可以先在一个100宽的矩形中画这个字符串,保存成image,然后把该image画到原来200宽矩形的左边可以实现,但是画很多的时候效率是不是不好?有没有更有效的办法?

Graphics 对象有 SetClip(Rectangle) 和 ResetClip() 两个方法,可以先通过前者指定一个有效绘图区域,绘制后再重置有效区域。

比如该 Graphics 的实际是 (0, 0, 200, 200),指定一个 (50, 50, 100, 100) 的矩形作为有效区域,那么超出该范围的部分不会被绘制在 Graphics 上。
温馨提示:答案为网友推荐,仅供参考
相似回答