【问题标题】:How to Calculate String Length in Pixels [duplicate]如何以像素为单位计算字符串长度
【发布时间】:2014-07-16 03:02:39
【问题描述】:

我需要知道如何在 C# Unity3D 中获取字符串的像素长度。

  string msg = ""You Must be from South Carolina!";

如何获取上述消息字符串的像素长度?

【问题讨论】:

  • 首先,您已经尝试过什么。其次,以像素为单位的文本大小将取决于(至少)呈现方法。所以一个好的开始是指定你如何在屏幕上实际呈现这个字符串。
  • 之前已经回答过类似的问题:stackoverflow.com/questions/451903/…希望这对您有所帮助。

标签: c# unity3d


【解决方案1】:

这是一种获取字符串宽度的方法。注意:你应该知道你使用什么字体:

string msg = "You Must be from South Carolina!";
Font stringFont = new Font("Arial", 12);

using (Bitmap tempImage = new Bitmap(400,400)) 
{
    SizeF stringSize = Graphics.FromImage(tempImage).MeasureString(msg , stringFont);
    double width = stringSize.Width;
}

【讨论】:

  • 哪个命名空间SizeF avaialble?.@Ksven.
  • 它在 System.Drawing 中。如果不是这种情况,您应该引用程序集 System.Drawing.dll。
  • 我收到此错误:找不到类型或命名空间名称“SizeF”。您是否缺少 using 指令或程序集引用?那么我能为此做些什么呢?@Ksven
  • 您需要在代码顶部添加一条 using 语句,例如使用 System.Drawing,如果尚未引用,则应添加对 System.Drawing.DLL 的引用。
猜你喜欢
  • 1970-01-01
  • 2013-08-22
  • 2011-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-16
  • 2012-10-31
  • 2010-10-01
相关资源
最近更新 更多