我知道在WPF中,FontSize = 1/96英寸(与我认为的1像素相同)。 FontSize维度是字符的高度,宽度还是对角线大小?我猜它是字体高度,但Microsoft documentation并没有真正表明它是什么。
另外,有一种简单的方法可以获得字体大小的高度和宽度吗?
答案: 因此,看起来FontSize是高度,宽度只能在等宽字体上确定(不知道实际字符),因为比例字体的宽度不同。
答案 0 :(得分:3)
它们指的是字体大小,用于排版的字体。
您可以在此处阅读:Wikipedia: Typeface
字体和字体的大小传统上以磅为单位测量; 2点在不同时间的定义不同,但现在最受欢迎的是桌面出版点1/72英寸(0.0139英寸/0.35毫米) )。当以印刷尺寸(点,kyus)指定时,em-square的高度,通常比从最高上升器到最低下行器的距离略大的不可见框,被缩放到等于指定的大小。[3 ]例如,在12点设置Helvetica时,Helvetica字体中定义的em方形缩放为12点或1/6英寸(0.17英寸/ 4.3毫米)。然而,12点Helvetica的特定元素不需要精确测量12个点。
本维基百科文章中所述的一个注释... 72就是WinForms使用的内容。 WPF切换到96。
至于问题的第二部分,我从MSDN Link找到了这个资源:
FormattedText formattedText = new FormattedText(
textBox1.Text.Substring(0, 1),
CultureInfo.GetCultureInfo("en-us"),
FlowDirection.LeftToRight,
new Typeface(textBox1.FontFamily.ToString()),
textBox1.FontSize,
Brushes.Black
);
... formattedText.WidthIncludingTrailingWhitespace;
... formattedText.Height;