2011-12-05 470 views
0

我正在使用GraphicPath.Addstring方法將字符串添加到圖形路徑,並使用Graphics.drawpath來繪製字符串。我想計算繪製文本的寬度和高度,以便可以在繪製的文本週圍繪製矩形。我曾嘗試使用Graphics.MeasureStringTextRenderer.MeasureText來計算寬度,並使用Graphicpath.addrectangleGraphics.Drawpath來繪製矩形,但我無法使用不同的字體獲得正確的尺寸。在GraphicsPath繪製的文本週圍繪製矩形邊框

請幫我解決這個問題。

+0

你可以發佈一些代碼的例子嗎? – punker76

回答

0

希望這個例子可以幫助你

var gp = new GraphicsPath(); 
var g = baseControl.CreateGraphics(); 
var textSize = g.MeasureString(text, basefont); 
gp.AddRectangle(new Rectangle(new Point(0, 0), textSize); 
gp.AddString("Your String", basefont.FontFamily, basefont.Style, basefont.Size - 0.25f); 
1

您的字符串添加到該路徑,然後調用

GraphicsPath.GetBounds();

確定的區域。這將需要根據用於呈現字符串的筆大小而被誇大。

0

小修正:

gp.AddRectangle(new Rectangle(new Point(0, 0), textSize.ToSize()); 
+0

如果您有足夠的聲望,請將其作爲您所提及的答案的評論發佈! –