【发布时间】:2018-09-16 20:47:58
【问题描述】:
如何找到要渲染的字符串的实际高度(和宽度)?我需要能够绘制 x 毫米高的文本。
如果我能得到实际的文本高度,应该很容易计算出所需的字体大小。
例如。从字体大小开始,测量渲染文本并计算新字体大小(new_font_size = old_font_size * Wanted_height / measure_height)
我尝试过使用Graphics.MeasureString,但其中包含一些对于大尺寸可能会变得相当大的填充。
【问题讨论】:
-
Graphics.MeasureString和TextRenderer.MeasureText是我熟悉的方法。它们都测量文本的实际大小并添加一些边距。也许MeasureText会给你一个更准确的结果。 -
我需要没有边距的尺寸。
-
“边距”实际上并不是页边距,它们是字体显示变音符号和降行符所需的空间。试试你自己的姓氏:)
-
除非文本包含任何变音符号或降序,否则不应包含在大小中。如果我有文本“ABC”并希望它为 10 毫米,我不希望计算出的大小为变音符号或下降字符腾出空间。