public static TextMetrics GlobalMeasureText(Direct2DFactories factories, string text, Font font) { float maxWidth = float.MaxValue; float maxHeight = float.MaxValue; var layout = new DW.TextLayout(factories.DWFactory, text, GetTextFormat(factories, font), maxWidth, maxHeight); return(new TextMetrics { Width = layout.Metrics.Width, Ascent = layout.Metrics.Height + layout.OverhangMetrics.Top, Descent = -layout.OverhangMetrics.Top, }); }
public static DW.TextFormat GetTextFormat(Direct2DFactories factories, Font font) { return(new DW.TextFormat(factories.DWFactory, font.Family, (float)font.Size)); }