2

我正在将具有不同前景色的 FormattedText 渲染到不同的字符(例如前两个红色,接下来是 2 个黄色……),现在我必须显示围绕该文本的轮廓。对于应用轮廓(笔画),我必须将此 FormattedText 转换为几何图形,然后绘制几何图形

几何 textGeometry = FormattedText.BuildGeometry(new Point(_xOffset, _yOffset)); drawingContext.DrawGeometry(null, new Pen(new SolidColorBrush(OutlineColor), storkeWidth),textGeometry);

但问题是它会将 FormattedText 呈现为红色并丢失我的格式颜色。我是遗漏了什么还是有另一种方法来概述文本。

4

1 回答 1

6

我想我找到了解决方案。首先绘制格式化文本,然后绘制几何图形,它将显示文本和轮廓。

Geometry textGeometry = FormattedText.BuildGeometry(new Point(_xOffset, _yOffset)); 
drawingContext.DrawText(FormattedText,new Point(0,0));
drawingContext.DrawGeometry(null, new Pen(new SolidColorBrush(OutlineColor), storkeWidth),textGeometry);

如果有人有更好的方法,请告诉我。

于 2009-08-27T17:11:07.677 回答