2

FormattedText を異なる前景色で別の文字にレンダリングしています (たとえば、最初の 2 つの赤、次の 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 に答える