目前,我正在使用 FormattedText.BuildGeometry() 来获取文本的几何形状。
首先,我用较粗的笔绘制文本几何图形,然后在此之上绘制文本。最后的效果是,文本似乎有了轮廓。
我的问题是 BuildGeometry() 方法非常耗时。有没有其他方法可以有效地绘制文本轮廓?
目前,我正在使用 FormattedText.BuildGeometry() 来获取文本的几何形状。
首先,我用较粗的笔绘制文本几何图形,然后在此之上绘制文本。最后的效果是,文本似乎有了轮廓。
我的问题是 BuildGeometry() 方法非常耗时。有没有其他方法可以有效地绘制文本轮廓?
几年前在做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 更快。