2010-12-09 2 views
0

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

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

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

ответ

1

Несколько лет назад, когда я работал на 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.

+0

Контур может иметь разную ширину; хорошая идея. Что еще вы хотите предложить? – Trainee4Life 2010-12-09 09:30:31

Смежные вопросы