Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# FontSize的WPF定义_C#_Wpf_Vb.net_Fonts - Fatal编程技术网

C# FontSize的WPF定义

C# FontSize的WPF定义,c#,wpf,vb.net,fonts,C#,Wpf,Vb.net,Fonts,我知道在WPF中,FontSize=1/96英寸(我认为与1像素相同)。FontSize尺寸是字符的高度、宽度还是对角线尺寸?我猜这是字体的高度,但并没有真正表明它是什么 还有,有没有一种简单的方法来获取字体大小的高度和宽度 回答: 所以看起来FontSize是高度,而宽度只能在单间距字体上确定(不知道实际字符),因为比例字体的宽度不同。它们指的是用于排版的字体中的字体大小 您可以在此处阅读: 字体和字体的大小传统上是用点来衡量的;点在不同的时间有不同的定义,但现在最流行的是1⁄72 in(0.

我知道在WPF中,FontSize=1/96英寸(我认为与1像素相同)。FontSize尺寸是字符的高度、宽度还是对角线尺寸?我猜这是字体的高度,但并没有真正表明它是什么

还有,有没有一种简单的方法来获取字体大小的高度和宽度

回答:
所以看起来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 
            );