C# FontSize的WPF定义
我知道在WPF中,FontSize=1/96英寸(我认为与1像素相同)。FontSize尺寸是字符的高度、宽度还是对角线尺寸?我猜这是字体的高度,但并没有真正表明它是什么 还有,有没有一种简单的方法来获取字体大小的高度和宽度 回答:C# FontSize的WPF定义,c#,wpf,vb.net,fonts,C#,Wpf,Vb.net,Fonts,我知道在WPF中,FontSize=1/96英寸(我认为与1像素相同)。FontSize尺寸是字符的高度、宽度还是对角线尺寸?我猜这是字体的高度,但并没有真正表明它是什么 还有,有没有一种简单的方法来获取字体大小的高度和宽度 回答: 所以看起来FontSize是高度,而宽度只能在单间距字体上确定(不知道实际字符),因为比例字体的宽度不同。它们指的是用于排版的字体中的字体大小 您可以在此处阅读: 字体和字体的大小传统上是用点来衡量的;点在不同的时间有不同的定义,但现在最流行的是1⁄72 in(0.
所以看起来FontSize是高度,而宽度只能在单间距字体上确定(不知道实际字符),因为比例字体的宽度不同。它们指的是用于排版的字体中的字体大小 您可以在此处阅读: 字体和字体的大小传统上是用点来衡量的;点在不同的时间有不同的定义,但现在最流行的是1⁄72 in(0.0139 in/0.35 mm)的桌面发布点。当在排版尺寸(点,kyus)中指定时,em正方形的高度(一个不可见的框,通常比最高的上升点到最低的下降点的距离大一点)被缩放为等于指定的大小。[3]例如,当将Helvetica设置为12点时,Helvetica字体中定义的em正方形缩放为12点或1/6英寸(0.17英寸/4.3毫米)。然而,12点Helvetica的任何特定元素都不需要精确测量12点 在这篇维基百科文章中有一个注释…72是WinForms使用的。WPF改为96 关于你问题的第二部分,我从一个 。。。格式化的text.width,包括trailingwhitespace
。。。格式化文本。高度 所以听起来FontSize实际上是高度,而宽度只能在单间距字体上确定(不知道实际字符)。谢谢
FormattedText formattedText = new FormattedText(
textBox1.Text.Substring(0, 1),
CultureInfo.GetCultureInfo("en-us"),
FlowDirection.LeftToRight,
new Typeface(textBox1.FontFamily.ToString()),
textBox1.FontSize,
Brushes.Black
);