原文:
WPF图形/文字特别效果之一:交叉效果探讨(续)
在“WPF图形/文字特别效果之一:交叉效果探讨”(http://blog.csdn.net/johnsuna/archive/2008/05/08/2419404.aspx)一文中,我使用了根据笔画顺序书写及顺时针/逆时针的方式来对交叉块进行分类描述,籍以探讨如何给各交叉色块填充颜色。
根据此方法,我们发现,写起程序来实属不易。首先,需要判断笔画的书写顺序,然后还需要根据交叉块的次序按顺时针或逆时针进行排列。人眼一看就很明白,但交给电脑程序来判别就难了。
有没有更好的办法呢?我把它更简洁化,直接根据两字交叉的块按从上到下,从左至右的方式进行排列。如下图:
深入说明:
细心的你或许已经注意到:
1、(a)与(b)的填充颜色有区别,它们两者填色次序刚好相反。(c)与(d),(e)与(f)的情况也类似。
2、(a)图中第一个数字2与第一个数字0交叉重叠的部分为三小块,从上至下为①②③;第1个数字0与第2个数字0交叉重叠的部分为两小块,从上至下为④⑤;第2个数字0与最后的数字8交叉重叠的部分为三小块,从上至下为⑥⑦⑧。
3、序号为奇与序号为偶的填充颜色相反,即交叉填充。如(a)图中:①红②橙③红④橙⑤红⑥橙⑦红⑧橙,也就是奇数序号为红,偶数序号为橙。(b)图则反过来。图(c)与(d),(e)与(f)的情况也类似。
4、图(g)与上述有所不同,①与③相反,②与④颜色相反。这是另一种填色方式,呈现出来的也是一种比较好的视觉效果。
根据以上描述,我们可以想象,如果按照这种从上至下,从左到右的方式,编程一定会大为简化,而且,根据上图可见,最终得到的视觉效果也在可以接受的范围内。