2010-03-08 56 views
5

我用這個代碼在面板繪製文本:圖形在C#(.NET)

Graphics g = panel1.CreateGraphics(); 
g.DrawString(...); 

所以,我想知道在面板呈現在輸入文本將是什麼規模。

回答

7

使用g.MeasureString()來獲取grapic上下文中字符串的寬度。

// Set up string. 
string measureString = "Measure String"; 
Font stringFont = new Font("Arial", 16); 

// Measure string. 
SizeF stringSize = new SizeF(); 
stringSize = e.Graphics.MeasureString(measureString, stringFont); 
+0

不錯,這對我來說是新的。 – Finglas 2010-03-08 19:55:04

+0

我想清理幾個點:1)= new SizeF();在這裏不必要; 2)最好的做法是放置字體(和許多其他圖形對象),比如stringFont.Dispose()或使用「using」語句。 – Zenya 2010-03-09 00:42:11

1

您還可以使用TextRenderer.MeasureText,它有時比MeasureString更易於使用。

+0

但只有在使用TextRenderer.DrawText時纔是準確的 – Eric 2010-03-08 19:50:20