我注意到在WPF中,12点的默认字体大小相当于“正常”应用程序中的9点(例如写字板),WPF中的10磅大约是7磅标准,当我尝试匹配时在WPF的写字板中默认字体大小为10 pt,我发现13是最接近的。
首先,为什么WPF使用这种奇怪的非标准字体大小,其次,是否有可靠的方法在两者之间进行转换?
我要问的原因是我想建立一个字体大小菜单,其中“标准”字体大小为9,10,12,14,16,18,24,36,48,但我很确定我是否使用那些实际价值,他们将疯狂。
答案 0 :(得分:36)
WPF使用像素作为font size的默认单位。 points(可能是您说“标准”字体大小)和像素之间的映射是:1 pt =(96/72)px
这为我们提供了一个简单的转换功能:
public static double PointsToPixels(double points)
{
return points*(96.0/72.0);
}
有关详细信息,请参阅this question。
答案 1 :(得分:20)
另一种转换方法,如果从点到WPF double,则使用System.Windows.FontSizeConverter类:
double sizeForWpf = (double) new FontSizeConverter().ConvertFrom("10pt");