Ich würde gerne wissen, wie man die Höhe einer bestimmten Schriftart (mit seinen Eigenschaften, wie Größe, Gewicht, Stil ...) in einem Windows Universal Application mit Win2D berechnen.Wie berechnet man die Höhe einer FontFamily mit Win2D (Zeilenabstand)?
Früher habe ich zuvor ein CanvasTextLayout
, aber es erfordert einen Text zu arbeiten, wie in dieser Zeile:
var ctl = new CanvasTextLayout(session, "Some text", new CanvasTextFormat(), constraintWidth, constraintHeight
);
In meinem Fall, Ich habe keinen Text, denn nach was ich suche, ist die Höhe, in der alle Glyphen einer gegebenen Schriftart (mit seinem Stil, Größe, Gewicht ...) passen.
EDIT: Ich habe auch mit der CanvasFontFace
Klasse versucht, aber es scheint, es keinen öffentlichen Konstruktor hat.
Suchen Sie nach GetGlyphRunBounds https://microsoft.github.io/Win2D/html/Overload_Microsoft_Graphics_Canvas_Text_CanvasFontFace_GetGlyphRunBounds.htm? Sonst hat CanvasTexFormat eine FontSize-Eigenschaft, wie bei Schriftfamilien üblich –
Ich denke, GetGlyphRunBounds ist nicht das, was ich brauche, da ich mindestens ein Glyph angeben müsste. Es ist das genaue Äquivalent zu dieser Frage, aber in Win2D. http://stackoverflow.com/questions/4509613/how-to-calculate-font-height-in-wpf. Bitte, sehen Sie sich die Antwort an. In WPF heißt es "LineSpacing". – SuperJMN
Ich glaube nicht, dass Sie den Standard 'LineSpacing' wie in WPF bekommen können. Sie müssen zuerst den Text zeichnen. Dies ist eine Einschränkung von Win2D. –