gpt4 book ai didi

c# - 如何实现自动换行?

转载 作者:太空狗 更新时间:2023-10-30 00:25:41 26 4
gpt4 key购买 nike

XNA 有 Spritefont 类,它有一个 MeasureString 方法,可以返回一个 string 的 Width 和 Height。我正在尝试了解如何创建一种方法,该方法将有效地返回一个字符串,并在正确的位置插入 Environment.Newline,这样如果适合特定的宽度和高度(矩形用作参数为此)。

最佳答案

我找到了以下代码:XNA - Basic Word Wrapping

public string WrapText(SpriteFont spriteFont, string text, float maxLineWidth)
{
string[] words = text.Split(' ');
StringBuilder sb = new StringBuilder();
float lineWidth = 0f;
float spaceWidth = spriteFont.MeasureString(" ").X;

foreach (string word in words)
{
Vector2 size = spriteFont.MeasureString(word);

if (lineWidth + size.X < maxLineWidth)
{
sb.Append(word + " ");
lineWidth += size.X + spaceWidth;
}
else
{
sb.Append("\n" + word + " ");
lineWidth = size.X + spaceWidth;
}
}

return sb.ToString();
}

关于c# - 如何实现自动换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15986473/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com