Преобразовать строку в шрифт - PullRequest
1 голос
/ 06 октября 2009

Мне трудно было найти правильные ответы на мою проблему. И провели много дней в поиске в Интернете и в документации и ничего не нашли.

У меня есть текстовый файл, который содержит кучу текста. И на одной из этих строк внутри файла будет содержаться некоторая информация о шрифте, подобная этой:

Tahoma, 12,5, Обычный

Обратите внимание, что информация о шрифте не всегда будет иметь одинаковое имя, размер или стиль, поэтому я не могу просто установить его вручную.

Когда этот файл открывается в моем приложении, он будет анализировать содержимое (которое я в основном рассмотрел), мне просто нужна некоторая помощь для преобразования приведенной выше строки шрифта в реальный объект шрифта, а затем присвоения этого шрифта элементу управления, т.е. ярлык и т.д ...

Может кто-нибудь помочь мне с этим?

1 Ответ

2 голосов
/ 06 октября 2009

Вы захотите использовать класс шрифтов . Предполагая, что вы используете String.Split () для разбора текста в массив, вы захотите взять каждую часть массива и использовать его для создания объекта Font , например:

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

У меня нет компилятора C # на этом Mac, поэтому он может быть не совсем корректным.

Пример конструктора:

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

Здесь вам нужно указать второй аргумент в виде числа с плавающей точкой, поэтому приведите строку к числу с плавающей точкой:

(float)fi[1]

Далее вам нужно найти FontStyle, основываясь на том, что fi 2 :

   if (fi[2] == "Regular") {
      // set font style
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...