【发布时间】:2010-12-22 10:17:04
【问题描述】:
我正在尝试使用 OpenXML 规范中的官方公式计算 Excel 列的像素宽度,如this post 中所述。但是,为了应用这个公式,我需要知道 Normal 字体的 Maximum Digit Width,即最宽数字的像素宽度。 OpenXML 规范给出了这个例子作为说明:
以Calibri字体为例,11点字体的最大位宽 大小为 7 像素(96 dpi)。
我已经通过目视检查 Calibri 11 点数字来检查这是否正确,它确实是 7 像素宽。因此,我正在尝试创建一种方法,该方法将返回任何字体/大小的最大数字宽度。
我遵循了this question 中的建议,但并没有产生我期望的结果。
这是我的测试代码:
var font = new Font("Calibri", 11.0f, FontStyle.Regular);
for (var i = 0; i < 10; i++)
{
Debug.WriteLine(TextRenderer.MeasureText(i.ToString(), font));
}
这报告所有数字的宽度都是 15。
有什么建议吗?
谢谢, 蒂姆
【问题讨论】:
标签: c# gdi+ gdi pixel font-size