天天看點

WPF圖形/文字特别效果之一:交叉效果探讨

原文:

WPF圖形/文字特别效果之一:交叉效果探讨

為了說明問題,先看下圖:

WPF圖形/文字特别效果之一:交叉效果探讨

圖1  完全重疊的單一顔色文字

它是2008幾個字的疊加,并且顔色為單一的紅色。如果不仔細分辨,你或許無法一下子看出是2008。

再看下圖:

WPF圖形/文字特别效果之一:交叉效果探讨

圖2  重疊的且顔色交叉的文字2008

它仍是2008幾個數字的疊加,不過有兩種顔色交替疊加,這次,很容易看出2008四個數字。

接着看下圖:

WPF圖形/文字特别效果之一:交叉效果探讨

圖3  文字2008及顔色的交替疊加

它與圖2不同之處在于,每個數字與上一數字在顔色上也交替疊加,看上去更有藝術效果。好象鍊條一樣一環扣一環。

再看下面效果:

WPF圖形/文字特别效果之一:交叉效果探讨

圖4  文字2008及顔色的交替疊加

如果你不仔細看,或許你會說不是與圖3一樣嗎?其實不是!你不妨需要仔細對比一下,看看有何不同?

說了這麼多,我的目的是要探讨如何在WPF中實作任意文字的交替疊加問題?

為了說明問題,我們必須對每個細節做深入的研究,這樣才能達到盡量的藝術化效果。

由于前面兩種效果簡單之極,是以不在本文的探讨範圍内,本文隻說後面兩種情況。

為了更好地說明問題,我先将文字進行分塊并标上序号:

WPF圖形/文字特别效果之一:交叉效果探讨

圖5  上圖3的分塊

注意序号為⑦的那一塊,由于太小,或許你看不太清楚,但它實實在在存在,看看上圖4相應的區域就知道了。

WPF圖形/文字特别效果之一:交叉效果探讨

圖6  上圖4的分塊

下面分析一下如何進行調整各塊的顔色:

WPF圖形/文字特别效果之一:交叉效果探讨

圖7(a)   分塊未加編号(數字2為順時針走勢,後面的兩個0均為逆時針走勢)

WPF圖形/文字特别效果之一:交叉效果探讨

圖7(b)    分塊加了編号(數字2為順時針走勢,後面的兩個0均為逆時針走勢)

以上是一種疊加方式(注意箭頭所示的走向及序号排法)

說明:

(1)對于數字2來說,序号為2的塊在上,顯示為紅色,4在下,即被遮住,6在上。(總結:單次交叉在上,雙次交叉在下)

(2)對于第一個數字0來說,第一次相交的編号為2的塊在下,第二次相交的編号為4的塊在上,第三次相交編号為6的塊在下,但考慮到第11為上,第9塊黃色被遮(在下)。

WPF圖形/文字特别效果之一:交叉效果探讨

圖8(a)   走勢圖(未加序号)

WPF圖形/文字特别效果之一:交叉效果探讨

圖8(b)   走勢圖(加序号)

   以上是另一種方式(注意箭頭所示的走向及序号排法)