[英]How to get glyph metrics in C#
我正在創建一個這樣的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
來獲取指標,但是我找不到從Font
到GlyphTypeface
任何直接方法。
以下應該工作:
// 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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.