【问题标题】:Find pixel size of a glyph in WPF在 WPF 中查找字形的像素大小
【发布时间】:2015-12-06 15:08:55
【问题描述】:

我想在 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;

【问题讨论】:

    标签: c# wpf fonts glyph


    【解决方案1】:

    获取字形宽度和高度的一种简单方法是获取其轮廓几何图形的边界大小:

    var size = typeface.GetGlyphOutline(charIndex, emSize, 0d).Bounds.Size;
    

    【讨论】:

      猜你喜欢
      • 2017-07-15
      • 2012-08-11
      • 1970-01-01
      • 1970-01-01
      • 2020-05-08
      • 2010-12-16
      • 1970-01-01
      • 2017-04-20
      • 1970-01-01
      相关资源
      最近更新 更多