我想使用 C# 统一获取文本的宽度。
这是我想要做的。
int GetWidthOfMessage(string message)
{
int totalLength = 0;
Font font = text.font; //text is my UI text
CharacterInfo characterInfo = new CharacterInfo();
char[] arr = message.ToCharArray();
foreach (char c in arr)
{
font.GetCharacterInfo(c, out characterInfo, text.fontSize);
totalLength += characterInfo.advance;
}
return totalLength;
}
但是 font.GetCharacterInfo(...) 返回 false 并且 characterInfo.advance 对于任何字符都是 0 。