将字符串转换为字体

发布于 2024-08-06 16:47:01 字数 289 浏览 3 评论 0原文

我一直很难为我的问题找到正确的答案。并且花了很多天在网上和文档中搜索,但一无所获。

我有一个包含一堆文本的文本文件。文件内的其中一行将包含一些字体信息,如下所示:

Tahoma,12.5,Regular

请注意,字体信息并不总是具有相同的字体名称、大小或样式,因此我不能手动设置它。

当这个文件在我的应用程序中打开时,它将解析内容(我已经介绍了大部分内容),我只需要一些帮助将上面的字体字符串转换为实际的字体对象,然后将该字体分配给控件,即标签等...

有人可以帮我解决这个问题吗?

I've been having a hard time trying to get the right answers for my problem. And have spent numerous days searching online and in documentation and have found nothing.

I have a Text File that contains a bunch of text. And on one of those lines inside the file will contain some Font info like this:

Tahoma,12.5,Regular

Note that the font info will not always have the same font name, size or style so I can't just set it manually.

When this file is opened into my app, it will parse the contents (which I have mostly covered), I just need some help converting the above font string into an actual font object and then assigning that font to a control, i.e. a label etc...

Can somebody please help me with this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

π浅易 2024-08-13 16:47:01

您将需要使用字体类。假设您使用 String.Split() 将文本解析为数组,您将需要获取数组的每个部分并将其用于 创建一个 Font 对象,例如:

string s = "Tahoma,12.5,Regular";
string[] fi = s.Split(',');
Font font = new Font(fi[0], fi[1],fi[2]);

我在这台 Mac 上没有 C# 编译器,因此它可能不完全正确。

构造函数示例:

public Font(
string familyName,
float emSize,
FontStyle style
)

这里您需要将第二个参数指定为浮点数,因此将字符串转换为浮点数:

(float)fi[1]

接下来您需要根据 fi2 是:

   if (fi[2] == "Regular") {
      // set font style
   }

You will want to use the Font class. Assuming you use String.Split() to parse the text into an array you will want to take each part of the array and use it to create a Font object like:

string s = "Tahoma,12.5,Regular";
string[] fi = s.Split(',');
Font font = new Font(fi[0], fi[1],fi[2]);

I don't have a C# compiler on this Mac so it may not be exactly correct.

Example constructor:

public Font(
string familyName,
float emSize,
FontStyle style
)

Here you need to specify the second argument as a float, so cast the string to a float with:

(float)fi[1]

Next you need to lookup a FontStyle based on what fi2 is:

   if (fi[2] == "Regular") {
      // set font style
   }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文