如果我使用AddString将字符串添加到GraphicsPath中,字体大小会比在字体对话框中看起来的要小。
SizeF sz = g.MeasureString(Text, new Font(Font.FontFamily, (int)(Font.Size - (Font.Size / 7)), Font.Style), new PointF(0, 0), StringFormat.GenericDefault);
this.Size = new Size((int)sz.Width, (int)sz.Height);
//These are not the same
fontpath.AddString(this.Text, this.Font.FontFamily,(int)this.Font.Style, this.Font.Size, new Point(0, 0),StringFormat.GenericDefault);
有人知道为什么会这样吗?这与IT技术有关。
Font.SizeInPoints
呢?同时,“转换为 emSize” 是什么意思?Em size 不是一个单位。为什么不告诉人们AddString
函数期望使用像素单位(我猜这是因为你的公式将点转换为像素)? - user764754emSize
在这里提供是因为它是传递给Path::AddString()
作为参数所期望的“单位”。 “em”是排版中相对于大写字母“M”的大小的单位。有关更多信息,请参见此维基百科文章。 - Richard Hauer