Получите размеры символов, зная все детали шрифта - PullRequest
1 голос
/ 08 сентября 2011

Мне нужно создавать растровые изображения символов в зависимости от указанного шрифта.Когда они указывают шрифт, они указывают:

  • Шрифт (например, Microsoft Sans Serif)
  • Стиль шрифта (например, полужирный)
  • Размер (например, 14)
  • Эффекты (например, Stikeout)
  • Скрипт (например, Western)

Зная это, можно ли определить размер, которым будет точно соответствовать персонаж, если я знаюхарактер и вся информация выше?Я должен нарисовать их для растровых изображений того же размера, что и у персонажа, но не больше.

Спасибо!Я делаю все это на VB.net, поэтому все примеры .net приемлемы.

1 Ответ

2 голосов
/ 08 сентября 2011

Вам необходимо использовать метод Graphics.MeasureString () .Создайте графический объект для формы (или другого графического выходного объекта) и шрифта и используйте их для измерения текста.

Public Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown
    Using _
        graphics As Graphics = Me.CreateGraphics, _
        font As New Font("Microsoft Sans Serif", 14, FontStyle.Bold Or FontStyle.Strikeout)

        Dim text As String = "How big am I?"
        Dim size As SizeF = graphics.MeasureString(text, font)
        MessageBox.Show(size.ToString)
    End Using
End Sub
...