Jar*_*rod 47
如果您有对System.Windows.Forms的引用,请尝试使用TextRenderer类.有一个静态方法(MeasureText),它接受字符串和字体并返回大小. MSDN链接
Ner*_*ury 23
您不需要使用用于渲染的图形对象来进行测量.您可以创建一个静态实用程序类:
public static class GraphicsHelper
{
public static SizeF MeasureString(string s, Font font)
{
SizeF result;
using (var image = new Bitmap(1, 1))
{
using (var g = Graphics.FromImage(image))
{
result = g.MeasureString(s, font);
}
}
return result;
}
}
Run Code Online (Sandbox Code Playgroud)
可能值得,根据您的情况设置位图的dpi.
Ant*_*tov 11
MeasureString
@NerdFury中的方法将给出比预期更高的字符串宽度.您可以在此处找到其他 信息.如果您只想测量物理长度,请添加以下两行:
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
result =
g.MeasureString(measuredString, font, int.MaxValue, StringFormat.GenericTypographic);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
29104 次 |
最近记录: |