WPF 中文本的轮廓字体效果

Outlined font effect for text in WPF

我一直在寻找一种在 WPF 中为某些文本创建轮廓以使其与背景更容易区分的方法。我试图模仿的原始外观如下

你会注意到字体真的很小,这使得这个问题非常困难。我发现大纲文本的所有控件和片段都在 字母而不是围绕它们绘制轮廓,这使得这些控件在我的情况下是一个糟糕的选择。即使是简单的绘制阴影来伪造边框也是不够的

我想知道您是否知道一些控件可以通过在字母的 外部 绘制轮廓来勾勒出文本轮廓,从而允许我使用小字体。或者,您认为游戏中经常使用的 sprite 字体是一种好方法吗?如果是这样,您有什么建议吗?libraries/controls?

暂时我想留下一个小片段,它帮助我创造了一个非常不错的结果,看起来像这样:

我在 Canvas 中使用多个 TextBlock 元素,并按照 ChrisF 的建议覆盖它们。令人惊讶的是,结果看起来比预期的要好,而且失真更少,因为我不必使用更大的字体大小。

<Canvas>
    <TextBlock Text="{StaticResource TestString}" FontSize="18"
               FontFamily="BigNoodleTitling" Canvas.Top="2" Canvas.Left="2" />
    <TextBlock Text="{StaticResource TestString}" FontSize="18"
               FontFamily="BigNoodleTitling" Canvas.Top="2" Canvas.Left="4" />
    <TextBlock Text="{StaticResource TestString}" FontSize="18"
               FontFamily="BigNoodleTitling" Canvas.Top="4" Canvas.Left="2" />
    <TextBlock Text="{StaticResource TestString}" FontSize="18"
               FontFamily="BigNoodleTitling" Canvas.Top="4" Canvas.Left="4" />
    <TextBlock Text="{StaticResource TestString}" FontSize="18"
               FontFamily="BigNoodleTitling" Canvas.Top="3" Canvas.Left="3"
               Foreground="#de5f5f" />
</Canvas>

我仍然对替代解决方案感兴趣!