WPF中文本的字体效果

时间:2015-12-11 13:15:50

标签: c# wpf text fonts outlining

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

enter image description here

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

enter image description here

我很好奇你是否知道一些可以通过绘制字母的外部来勾勒出文字的控件,这些字母允许我使用小字体。或者你认为游戏中常用的精灵字体是一种很好的方法吗?如果是,您可以建议任何库/控件吗?

1 个答案:

答案 0 :(得分:2)

暂时我想留下一个小片段,帮助我创建一个非常不错的结果,到目前为止看起来像这样:

enter image description here

我在Canvas中使用多个<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> 元素,并将其覆盖为ChrisF建议。令人惊讶的是,由于我不必使用增加的字体大小,因此结果看起来比预期的要好,因为我不必使用增加的字体大小。

{{1}}

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