我正在创建一个Font
对象,如下所示:
var font = new Font(font_name, font_size);
从font_name
获得System.Drawing.FontFamily.Families
的地方。我使用以下字符将char渲染为图像:
var char_renderer = Graphics.FromImage(char_image);
char_renderer.DrawString(ch.ToString(), font, new SolidBrush(Color.White), 0, 0);
是否只有通过获得此信息才能获取字符度量(提前,字距调整等)?
我发现很多地方应该使用System.Windows.Media.GlyphTypeface
来获取指标,但是我找不到从GlyphTypeface
到Font
的直接方法。 / p>
答案 0 :(得分:0)
以下方法应该起作用:
// create typeface from font
var typeface = new Typeface("Arial");
// create glyphtypeface
typeface.TryGetGlyphTypeface(out var glyphTypeface);
// retrieve metrics
glyphTypeface.AdvanceHeights.TryGetValue('S', out var advancedHeight);