Как отобразить одинаковый «пропорциональный» размер текста на разных разрешениях? - PullRequest
1 голос
/ 24 мая 2011

Я рисую текст на экране, используя ID3DXFont :: DrawText.Этот текст должен отображаться одинаково независимо от разрешения экрана.

Например, если разрешение экрана низкое, текст переносится, а когда оно выше, текст не переносится.Как я могу избежать такой ситуации?Я хочу, чтобы размер текста был связан с разрешением экрана, поэтому, если разрешение ниже, я хочу, чтобы текст был относительно меньше, чтобы не было переноса.Есть ли способ?

Заранее спасибо

1 Ответ

0 голосов
/ 26 мая 2011

Ниже приведено логическое решение.В нем нет ни кода, ни процедур, необходимых для работы в Direct X, но, выполнив нечто подобное вне DirectX, я хотел поделиться логикой

  1. Работа с любым разрешением экрана по умолчанию, которое вы хотите установитьразмер шрифта должен быть необходимым.
  2. Найдите процент от высоты экрана, который занимает выбранный вами размер шрифта.
  3. Затем сохраните это значение при повторном рендеринге, в конечном итоге.версии программы, рассчитайте размер шрифта на основе размера экрана и процента

В том, над чем я работал, были такие функции, как GetTextHeight и свойства размера шрифта, чтобы вы могли установить высоту (котораяв свою очередь, установите размер шрифта соответственно).Так что, если вы можете найти что-то похожее на это в DirectX, это может быть ваш путь.

...