Почему TextRenderer.MeasureText не работает должным образом? - PullRequest
5 голосов
/ 02 декабря 2011

Я хочу измерить высоту текста с учетом определенной ширины доступного холста. Текст, который я передаю, очень длинный, и я знаю, что заверну. Для этого я называю следующее:

using System.Windows.Forms;
...
string text = "Really really long text that is sure to wrap...";
Font font = new Font("Arial", 14);
Size canvas = new Size(1100, 850);
Size size = TextRenderer.MeasureText(text, font, canvas);

Независимо от того, что я передаю для canvas, он всегда возвращает 14 для size.Height.

Я что-то упустил?

1 Ответ

5 голосов
/ 02 декабря 2011

Пожалуйста, используйте параметр измерения TextFormatFlags , как показано ниже:

Size size = TextRenderer.MeasureText(text, font, canvas, TextFormatFlags.WordBreak);
...