2010-12-09 49 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