我想找到 WPF 中字形的大小(以像素为单位)。这是字形的大小,不包括前导和尾随空格。我想要下图中第二个尺子代表的尺寸。这可能吗?
我已经尝试过 https://stackoverflow.com/a/12121990/111471 中描述的程序, 这导致了第一个标尺所代表的大小。 该答案提供的代码是:
var typeface = new GlyphTypeface(new Uri(fontpath));
var character = 'B';
var charIndex = typeface.CharacterToGlyphMap[character];
var width = typeface.AdvanceWidths[charIndex];
var height = typeface.Height - typeface.TopSideBearings[charIndex]
- typeface.BottomSideBearings[charIndex];
然后我找到了像素大小
var widthInEms = width * emSize;
var heightInEms = height * emSize;
最佳答案
获取字形的宽度和高度的一种简单方法是获取其轮廓几何体的边界大小:
var size = typeface.GetGlyphOutline(charIndex, emSize, 0d).Bounds.Size;
关于c# - 在 WPF 中查找字形的像素大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32500025/