回答
您可以得到一個Graphics
對象(使用Control.CreateGraphics()在您想要的文本的容器上),並請撥打MeasureString()
來執行此操作。這是一種相當常見的GDI + 技術。
從MSDN的更多信息:http://msdn.microsoft.com/en-us/library/6xe5hazb.aspx
AFAIK GDI +文本測量有點問題。特別是當使用大小來居中文本不符合要求時。 – CodesInChaos
我使用'MeasureString'方法,現在我得到了一個SizeF類型的返回值,然後將它賦值給PointF,我現在知道寬度但是在PointF中>>>我需要它的cm!我嘗試轉換它,因爲我認爲PointF就像Postscript點,但我認爲我的轉換公式不正確,所以如何在得到poinf的寬度後進行轉換! – AshOoO
'PointF'只是'Point'的一個'float'值(即非整數值)。從點轉換爲釐米應該是可行的(點 - >像素 - > dpi->英寸 - >釐米?),但爲什麼你需要釐米? –
另一種方式來做到這一點是具有TextRenderer
,並調用其MeasureString
方法,並傳遞串和字體類型。
MSDN示例:
private void MeasureText1(PaintEventArgs e)
{
String text1 = "Measure this text";
Font arialBold = new Font("Arial", 12.0F);
Size textSize = TextRenderer.MeasureText(text1, arialBold);
TextRenderer.DrawText(e.Graphics, text1, arialBold,
new Rectangle(new Point(10, 10), textSize), Color.Red);
}
注:這僅僅是一個替代的解決方案已經張貼由@Neil巴恩韋爾 的(同樣有效)一個(如果您已經有到系統的參考.Windows.Forms在你的項目中,這可能會更方便)。
我認爲這只是在Windows應用程序不是類庫項目! – AshOoO
@AshOoO我同意,這就是我的答案結尾處的註釋全是關於=) – jadarnel27
這將測量當前表單上的文本大小。如果您需要在打印機輸出上測量文本大小,則需要使用'e.Graphics.MeasureString(...)'方法。 – AaA
- 1. 如何得到一個字符串的文本寬度ExtPascal
- 2. 如何獲得字符串的寬度
- 3. 如何得到一個字符串
- 4. SSRS - 如何得到一個字符串
- 5. 如何得到一個字符串
- 6. 如何得到一個字符串
- 7. 得到一個字符串
- 8. 如何得到一個數字一個字符串的PHP
- 9. 如何從一個字符串得到一個字符串,開始和一個特定的字符串
- 10. 在bash腳本中,howto得到一個字符串的顯示寬度
- 11. 如何獲得在java中的字符串的寬度
- 12. 如何獲得普通c中字符串的寬度#
- 13. 如何得到一個字符串的第一個字母字符的iOS
- 14. C#:如何獲得一個字符串的第一個字符?
- 15. 獲得一個字符串到一定的長度。
- 16. 如何獲得REGEXP_SUBSTR一個字符串
- 17. 如何獲得一個字符的寬度和高度USR座標
- 18. 將一個字符串分解成子串由固定寬度
- 19. 如何計算多字符串的字體寬度和高度?
- 20. 如何獲得字符串的長度[] []
- 21. C字符串到寬C字符串
- 22. C#:如何獲得字符串中的字符串的長度[]
- 23. 如何得到一個字符串的一部分,在PHP
- 24. 使用window.getSelection得到一個字符串
- 25. 得到一個字符串C++
- 26. JS得到一個字符串幾次
- 27. 得到一個字符串雙C++
- 28. 得到一個字符串在javascript
- 29. 無法得到一個字符串
- 30. preg_match_all得到一個字符串
可以與此合併:http://stackoverflow.com/questions/5553965/programmatically-measure-string-in-asp-net – digEmAll
測量網站的字符串的大小聽起來有問題。無法確定瀏覽器將顯示字體AFAIK的大小。 – davisoa
一個特定的字體不足以知道這一點。您還需要知道哪個渲染器將顯示文本。例如,Apple和MS渲染文本的方式非常不同,如果影響文本的圖形寬度,我不會感到驚訝。如果你試圖在服務器端獲得html中顯示的文本寬度(因爲你的標籤似乎暗示),這很可能是不可能的。 – CodesInChaos