2011-09-07 47 views
1

我需要根據指定的字體創建字符的位圖。當他們指定字體,它們被指定:獲取知道字體上所有細節的字符的維數

  • 字體(如Microsoft無襯線)
  • 字體樣式(如粗體)
  • 尺寸(如14)
  • 影響(如Stikeout)
  • 腳本(如西部)

認識到這一點,是有可能的大小來確定一個字符將是完全如果我知道的字符及以上的所有信息?我必須將它們繪製成與角色大小相同且不大的位圖。

謝謝!我在VB.net中都是這麼做的,所以.net的所有例子都可以接受。

回答

2

您需要使用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 
+0

完美的作品,謝謝! – FreeSnow

+1

如果您不使用Graphics對象來繪製文本,您可能希望使用TextRenderer.MeasureText()。 –

+0

@克里斯:謝謝!我知道必須有更好的方法。 –