2015-12-11 103 views
0

我正在尋找一種方法來爲WPF中的某些文本創建輪廓,以使其與背景更加區分。我試圖模擬天生原來的樣子是以下WPF文本的概述字體效果

enter image description here

你會發現,字體是非常小的,這使得這一問題非常困難。所有的控件和片段我發現輪廓文字在的字體中繪製輪廓,而不是在它們周圍,這使得這些控件在我的情況下是不好的選擇。即使是一些簡單的繪製陰影假邊界不夠

enter image description here

我很好奇,你是否知道,可以通過繪製輪廓外面,讓我的信件勾勒出一個文本一些控件使用小字號。或者,你認爲遊戲中常用的精靈字體是一種很好的方法嗎?如果是這樣,是否有任何圖書館/控制你可以建議?

+0

對我來說,第二種文字樣式看起來比第一種文字更具區分性。 – Jose

+1

@Kirenenko第二種風格有白色而不是玉文字色(參考第一種風格的紅色背景上的紅色文字),它略大一些。此外,第一種風格的圖片質量較低。 –

+0

你可以給文字添加一個陰影,或者可以繪製兩次,一次是黑色,稍大一點,然後是紅色,直接在上面?不知道如何看起來雖然。 – ChrisF

回答

2

暫時我要離開一個小片斷這讓我創造了非常不錯的結果,到目前爲止,看起來像這樣:

enter image description here

我使用的是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> 

我仍然對替代解決方案感興趣!

+0

你可以嘗試它工作正常,但可能不如你的例子。 – 0x4f3759df