Как эффективно нарисовать выделенный текст? - PullRequest
0 голосов
/ 09 декабря 2010

В настоящее время я использую FormattedText.BuildGeometry () для получения геометрии текста.

Сначала я рисую геометрию текста более толстым пером, затем поверх этого я рисую текст. Окончательный эффект заключается в том, что текст кажется наброском.

Моя проблема в том, что метод BuildGeometry () занимает очень много времени. Есть ли другой способ эффективно рисовать контуры текста?

1 Ответ

1 голос
/ 09 декабря 2010

Несколько лет назад, когда я работал над J2ME, я использовал этот метод для придания тексту некоторого контура (псевдокод, но его легко обновить до WPF):

setColor(outlineColor)
drawText(x - 1, y, text)
drawText(x + 1, y, text)
drawText(x, y - 1, text)
drawText(x, y + 1, text)

setColor(textColor)
drawText(x, y, text)

(при условии, что вы хотите нарисовать текст в координатах x, y).

Я думаю, что рисование текста в 4 раза может быть быстрее, чем с помощью BuildGeometry.

...