如何計算在X行中顯示字符串所需的最小寬度,因爲文本應該在空白處打破?計算在.Net中以X行顯示文本所需的最小寬度?
0
A
回答
1
可能的提示:也許某種二進制搜索使用Graphics.MeasureString()?
0
編輯:沒有意識到你想嘗試和適合固定數量的行文本。這是一個艱難的嘗試和解決。這是我能想出,可能不是最優雅的最好的,但它似乎工作:
public SizeF CalculateWidth(Font font, Graphics graphics, int numOfLines,
string text)
{
SizeF sizeFull = graphics.MeasureString(text, font,
new SizeF(
float.PositiveInfinity,
float.PositiveInfinity),
StringFormat.
GenericTypographic);
float width = sizeFull.Width/numOfLines;
float averageWidth = sizeFull.Width/text.Length;
int charsFitted;
int linesFilled;
SizeF needed = graphics.MeasureString(text, font,
new SizeF(width,
float.
PositiveInfinity),
StringFormat.
GenericTypographic,
out charsFitted,
out linesFilled);
while (linesFilled > numOfLines)
{
width += averageWidth;
needed = graphics.MeasureString(text, font,
new SizeF(width,
float.PositiveInfinity),
StringFormat.GenericTypographic,
out charsFitted, out linesFilled);
}
return needed;
}
用法示例:
Font font = new Font("Arial", 12, FontStyle.Regular,
GraphicsUnit.Pixel);
Graphics g = Graphics.FromImage(new Bitmap(1, 1));
string text = "Some random text with words in it.";
SizeF size = CalculateWidth(font, g, 3, text);
+0
這將假設你只需要一個字的一個字。 – 2008-11-11 15:07:17
相關問題
- 1. 計算顯示文本的Windows窗體寬度
- 2. 在.NET 2.0中計算x高度
- 3. jquery計算div的最小所需高度值
- 4. 找到用jQuery完整顯示項目所需的最小寬度?
- 5. 計算文本的寬度是多少?
- 6. 顯示計算中的所有行?
- 7. 最小寬度,最大寬度的CSS使用最小寬度
- 8. 字符串容器大小,計算給定最大高度的最小寬度
- 9. 如何計算swift中多行文本的最佳標籤寬度
- 10. 用PHP計算文本寬度GD
- 11. 在繪製文本之前計算文本的寬度
- 12. css計算函數:如何計算文本的寬度?
- 13. jQuery計算寬度,並將寬度應用到所需的容器
- 14. 計算器文本顯示
- 15. 如何計算WinRT中文本的寬度和高度?
- 16. 防止文字換行,最小寬度?
- 17. 計算包含對話框所需的最小大小
- 18. 可以在iPad上計算Powerpoint演示文稿的寬度/高度
- 19. 如何獲得dijit ComboBox或FilteringSelect所需的最小寬度?
- 20. css最小寬度和最大寬度?
- 21. 如何計算div中最寬單詞的寬度?
- 22. CSS最小寬度和最大寬度以及靈活佈局
- 23. 在ActionScript和Flex中計算文本寬度
- 24. 如何計算最佳titleView寬度?
- 25. 在每行中計算逗號並在文本文件中顯示行號
- 26. 寬度和最小寬度的使用
- 27. 在Opera中計算像素的寬度
- 28. 如何計算文本的高度(固定寬度)?
- 29. 根據可用的寬度和字體計算文本高度?
- 30. IF語句需要以一定的寬度顯示文本,並且只在主頁上顯示
等寬字體或比例? – 2008-11-10 23:26:45