我有一个 WinForms 用户控件,我正在尝试获取当前字体的确切水平字符间距,预计该字体是等距的。
看起来字体的Size
属性提供了此信息,但显然是以点为单位的,我正在以像素为单位。
var fontWidth = this.Font.Size; // Returns em-size in points--not pixels
如果我自己创建字体,我可以指定它使用像素单位。但在我的情况下,字体是通过我的用户控件的属性设置的,我无法确定字体是如何创建的。不幸的是,字体的Unit
属性是只读的。
如何以像素为单位制作现有的字体返回指标?