Динамическое изменение размера / пробела текста в соответствии с div - PullRequest
2 голосов
/ 27 мая 2011

У меня есть div с фиксированной шириной, но текст внутри (имя кого-то) будет отличаться. Есть ли способ динамического изменения размера / межбуквенного интервала текста, чтобы он идеально подходил для div?

Однако я не могу использовать javascript, поскольку этот сценарий будет использоваться в конвертере HTML-PDF, который не читает javascript

text-align:justify не будет работать, как если бы текст был слишком длинным для div, он не будет изменять его размер. Я считаю text-align:justify работает только для абзацев и т. Д.

Имя не может идти в две строки

1 Ответ

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

Вам нужно использовать либо:

 Graphics graphics = this.CreateGraphics();
 SizeF textSize = graphics.MeasureString("How long am I?", this.Font);

, либо

 Size textSize = TextRenderer.MeasureText("How long am I?", font);

TextRenderer менее точен, но Graphics требует использования формы Windows - в вашем случае вы могли бы иметьформы с одним текстовым полем, в которое вы помещаете текст для измерения, а затем читаете его обратно, но TextRenderer проще.

Используя вышеописанное, вы можете написать функцию, которая корректирует размер шрифта до желаемой длиныдостиг.

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

...