【发布时间】:2017-06-28 23:37:41
【问题描述】:
我想知道如何使用 Win2D 在 Window 通用应用程序中计算给定字体的高度(及其属性,如大小、粗细、样式...)。
我之前使用了CanvasTextLayout,但它需要一个文本才能工作,就像这一行:
var ctl = new CanvasTextLayout(session, "Some text", new CanvasTextFormat(), constraintWidth, constraintHeight);
在我的例子中,我不会有文本,因为我要查找的是给定字体的所有字形的高度(包括其样式、大小、粗细... ) 很合适。
编辑:我也尝试过 CanvasFontFace 类,但它似乎没有任何公共构造函数。
【问题讨论】:
-
您在寻找 GetGlyphRunBounds microsoft.github.io/Win2D/html/… 吗?否则 CanvasTexFormat 具有 FontSize 属性,与字体系列一样
-
我认为 GetGlyphRunBounds 不是我需要的,因为我必须至少指定一个字形。它与这个问题完全相同,但在 Win2D 中。 stackoverflow.com/questions/4509613/…。请看答案。在 WPF 中,它被称为“LineSpacing”。
-
我不认为你可以像在 WPF 中那样获得默认的
LineSpacing。您必须先绘制文本。这是 Win2D 的限制。 -
好的,现在问题很清楚了:)。 CanvasTextFormat 有一个 LineSpacing 属性:microsoft.github.io/Win2D/html/…
-
它有这个属性,但它总是-1。我认为这不是我们想要的:(