簡體   English   中英

如何在C#中獲取字形指標

[英]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來獲取指標,但是我找不到從FontGlyphTypeface任何直接方法。

以下應該工作:

// 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM