测量弦的实际高度

问题描述 投票:0回答:1

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

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

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

我尝试过使用Graphics.MeasureString,但这包括一些填充物,对于大尺寸来说可能会变得非常大。

c# .net gdi+
1个回答
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;
}
© www.soinside.com 2019 - 2024. All rights reserved.