如何设置行间距Graphics.DrawString

15

我想在一个矩形内输出多行字符串,但是我找不到方法来减小或增加行间距。如何做到?

2个回答

10

这个 MSDN 可以帮助你,行间距是由你使用的字体造成的。 如果你需要自定义行间距,则可能需要将 DrawString 命令分成多个调用。


2
这篇微软论坛的帖子可能会有所帮助:http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1507414&SiteID=1。该帖子展示了如何使用MeasureString来确定每行可以容纳多少文本,然后使用这个信息逐行渲染整个矩形的内容。不幸的是,我认为没有内置的行间距属性,所以你需要手动设置。该帖子的作者使用字体的高度 * 1.5。
此外,值得研究的是StringFormatFlags - 你需要确保你的DrawString和MeasureString调用都使用相同的StringFormat,以确保渲染和测量的一致性:http://msdn.microsoft.com/en-us/library/system.drawing.stringformatflags.aspx

1
我已经编写了一组扩展方法,如果有人感兴趣,可以访问https://github.com/narcitymedia/draw-string-line-height。 - Gaboik1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接