测量琴弦的实际高度

时间:2018-09-16 11:37:51

标签: c# .net gdi+

如何找到要渲染的字符串的实际高度(和宽度)?我需要能够绘制x毫米高的文本。

如果我可以得到实际的文字高度,应该很容易计算所需的字体大小。

例如。从字体大小开始,测量渲染的文本并计算新的字体大小(new_font_size = old_font_size * wanted_height / measured_height)

我尝试使用Graphics.MeasureString,但是其中包含一些填充,对于大尺寸填充可能会变得很大。

1 个答案:

答案 0 :(得分:0)

将文本添加到GraphicsPath并从中获取大小似乎很可行:

public static SizeF GetSize(String text, Font font, StringFormat format)
{
    GraphicsPath path = new GraphicsPath();
    path.AddString(text, font.FontFamily, (int)font.Style, font.SizeInPoints, new PointF(0, 0), format);
    return path.GetBounds().Size;
}