2015-04-23 3 views
1

У меня действительно простая настройка - у меня есть string, шрифт и размер шрифта на готовом. Я хочу сделать это для Silverlight WriteableBitmap.Получить визуализированные текстовые буквы размеры

Существует один улов - я хочу, чтобы можно было разделить буквы в визуализированном тексте. В идеале, я хотел бы иметь System.Windows.Rect для каждого визуализированного письма.

Проблема заключается в API Silverlight, в котором отсутствуют все полезные материалы, такие как Graphics.MeasureString, которые я мог бы использовать для измерения букв отдельно.

Какие адекватные варианты я должен получить для принятия мер букв в коде?

+0

Как насчет получения шрифта. Размер? Это должно дать вам размер шрифта, а затем вы можете рассчитать оттуда? – Pseudonym

+0

@ Псевдоним: это не привело бы меня к ширине букв (что также может быть разным для каждой буквы: шрифт не является моноширинным) – Mints97

+0

У меня есть действительно плохой способ сделать это, но он выполнит свою работу, как вы будете обрабатывать много писем? – Pseudonym

ответ

0

Я как-то понял это самостоятельно. Решение медленное и далекое от совершенства, но эй, оно работает!

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

Так, например, если текст "ab", мы сначала визуализируем "a" и получаем его длину. Затем мы визуализируем "ab" и находим разницу, которая должна быть размером с рендерингом "b".