C#测量谷歌字体字符的宽度和高度

C#测量谷歌字体字符的宽度和高度,c#,visual-studio,fonts,font-size,google-font-api,C#,Visual Studio,Fonts,Font Size,Google Font Api,我试图从谷歌字体中测量不同字体的单个字符。 我试了很多,但是高度和宽度的比例总是错误的。。。 以下是我的一些尝试: 文本渲染器 font:=谷歌字体示例的bloburi:“ 测量 我试过不同的,总是不准确 SizeF sizeFf = new SizeF(); using (var image = new Bitmap(1, 1)) { using (var g = Graphics.FromImage(image))

我试图从谷歌字体中测量不同字体的单个字符。 我试了很多,但是高度和宽度的比例总是错误的。。。 以下是我的一些尝试:

  • 文本渲染器
  • font:=谷歌字体示例的bloburi:“

  • 测量
  • 我试过不同的,总是不准确

          SizeF sizeFf = new SizeF();
          using (var image = new Bitmap(1, 1))
           {
                using (var g = Graphics.FromImage(image))
                {
                    sizeFf = g.MeasureString("A", googlefont);
                }
            }
    

    我不需要确切的宽度和高度,合适的比例也是合理的。在网上我只发现这两个解决方案一样好。。。为什么它对我不起作用


    Thx很多

    如果它们不是单空格字体,那么测量任何字符都会得到不同的结果,尝试测量W,例如在大多数字体中,W比a宽,字体在两侧保留一些空间。例如,检查这个问题。是的,我知道,这就是为什么我需要每个字体中每个字符的精确比例。但是如果我在paint.NET f中重新检查字体,我的方法给出了错误的宽度/高度道具。e、 …然后我只能将角色渲染为位图并查找边界框,速度很慢,但在使用大字体时可能是准确的。
          SizeF sizeFf = new SizeF();
          using (var image = new Bitmap(1, 1))
           {
                using (var g = Graphics.FromImage(image))
                {
                    sizeFf = g.MeasureString("A", googlefont);
                }
            }
    
            using (Graphics g = Graphics.FromHwnd(IntPtr.Zero))
            {
                sizeFf = g.MeasureString("A", googlefont);
            }