Шрифт в 'GraphicsPath. AddString' меньше чем обычно шрифт

По некоторым причинам, если я добавляю строку к использованию GraphicsPath AddString, шрифт будет меньшим, чем это похоже в Диалоговом окне Шрифта.

  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);

Кто-либо знает, почему это могло бы делать это?

6
задан Kristina Brooks 19 February 2010 в 12:16
поделиться

1 ответ

можно добавить третье свойство только для чтения, которое возвращает ToString () , и вызвать OnPropertyChanged с именем этого свойства

-121--3181251-

Не связываться с ToString () . Вместо этого введите свойство FireName и создайте OnPropertyChanged («FureName») в обоих других установщиках свойств.

-121--3181253-

Предполагая, что единица измерения Font.Size равна Пунктам , следует преобразовать размер, переданный в AddString , в emSize (высота квадратного поля em, ограничивающего символ).

float emSize = graphics.DpiY * font.Size / 72;
20
ответ дан 8 December 2019 в 05:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: