WPF图形/文字特别效果之一:交叉效果探讨
为了说明问题,先看下图:
图1 完全重叠的单一颜色文字
它是2008几个字的叠加,并且颜色为单一的红色。如果不仔细分辨,你或许无法一下子看出是2008。
再看下图:
图2 重叠的且颜色交叉的文字2008
它仍是2008几个数字的叠加,不过有两种颜色交替叠加,这次,很容易看出2008四个数字。
接着看下图:
图3 文字2008及颜色的交替叠加
它与图2不同之处在于,每个数字与上一数字在颜色上也交替叠加,看上去更有艺术效果。好象链条一样一环扣一环。
再看下面效果:
图4 文字2008及颜色的交替叠加
如果你不仔细看,或许你会说不是与图3一样吗?其实不是!你不妨需要仔细对比一下,看看有何不同?
说了这么多,我的目的是要探讨如何在WPF中实现任意文字的交替叠加问题?
为了说明问题,我们必须对每个细节做深入的研究,这样才能达到尽量的艺术化效果。
由于前面两种效果简单之极,因此不在本文的探讨范围内,本文只说后面两种情况。
为了更好地说明问题,我先将文字进行分块并标上序号:

图5 上图3的分块
注意序号为⑦的那一块,由于太小,或许你看不太清楚,但它实实在在存在,看看上图4相应的区域就知道了。

图6 上图4的分块
下面分析一下如何进行调整各块的颜色:

图7(a) 分块未加编号(数字2为顺时针走势,后面的两个0均为逆时针走势)

图7(b) 分块加了编号(数字2为顺时针走势,后面的两个0均为逆时针走势)
以上是一种叠加方式(注意箭头所示的走向及序号排法)
说明:
(1)对于数字2来说,序号为2的块在上,显示为红色,4在下,即被遮住,6在上。(总结:单次交叉在上,双次交叉在下)
(2)对于第一个数字0来说,第一次相交的编号为2的块在下,第二次相交的编号为4的块在上,第三次相交编号为6的块在下,但考虑到第11为上,第9块黄色被遮(在下)。

图8(a) 走势图(未加序号)

图8(b) 走势图(加序号)
以上是另一种方式(注意箭头所示的走向及序号排法)
WPF图形/文字特别效果之一:交叉效果探讨的更多相关文章
- WPF图形/文字特别效果之一:交叉效果探讨(续)
原文:WPF图形/文字特别效果之一:交叉效果探讨(续) 在"WPF图形/文字特别效果之一:交叉效果探讨"(http://blog.csdn.net/johnsuna/archive ...
- 调整 FMX Android 文字显示「锯齿」效果
说明:调整 Firemonkey Android 显示文字有「锯齿」效果 适用:Firemonkey Android 平台 修改方法: 请将源码 FMX.FontGlyphs.Android.pas ...
- jquery 单行滚动、批量多行滚动、文字图片翻屏滚动效果代码
jquery单行滚动.批量多行滚动.文字图片翻屏滚动效果代码,需要的朋友可以参考下. 以下代码,运行后,需要刷新下,才能加载jquery,要不然看不到效果.一.单行滚动效果 <!DOCTYPE ...
- 在WPF中使用PlaneProjection模拟动态3D效果
原文:在WPF中使用PlaneProjection模拟动态3D效果 虽然在WPF中也集成了3D呈现的功能,在简单的3D应用中,有时候并不需要真实光影的3D场景.毕竟使用3D引擎会消耗很多资源,有时候使 ...
- 让TextView里面的文字逐个显示的动画效果实现(1)
最近使用TextView时想要实现里面的文字逐个显示的动画效果,就如同打字一样. 主要实现思想:新建一个TextView的派生类,先将要逐个显示的字符串保存变量 mOriginalStr 中,然后启动 ...
- WPF中,如何将Vista Aero效果扩展到整个窗口
原文:WPF中,如何将Vista Aero效果扩展到整个窗口 WPF中,如何将Vista Aero效果扩展到整个窗口 ...
- jQuery鼠标悬停文字渐隐渐现动画效果
jQuery鼠标悬停文字渐隐渐现动画效果 当时是做项目的时候用到的所以图片有些大,九张,真正要做图片不需要这么大 css样式 <style> *{ margin: 0; padding: ...
- javaScript实现选中文字提示新浪微博分享的效果
<!DOCTYPE html> <html xmlns:wb="http://open.weibo.com/wb"> <head> <me ...
- C# WPF QQ新消息托盘悬浮窗效果实现
原文:C# WPF QQ新消息托盘悬浮窗效果实现 今天在做一个项目的时候需要这么一个效果,但是网上找了一会发现并没有现成的给我参考(复制),但是呢,我千(到)辛(处)万(抄)苦(袭)想(复)破(制)头 ...
随机推荐
- [Nuxt] Build a Navigation Component in Vue.js and Use in a Nuxt Layout
You can isolate parts of templates you want to re-use into components, but you can also reuse those ...
- 使用maven进行测试设置断点调试的方法
在Maven中配置测试插件surefire来进行单元测试,默认情况下,surefire会执行文件名以Test开头或结尾的测试用例,或者是以TestCase结尾的测试用例. ...
- C++利用SOAP开发WebService
// soapconsole.cpp : Defines the entry point for the console application.// #include "stdafx.h& ...
- ArcSDE:C#打开SDE数据库的几种方式总结
转自原文 ArcSDE:C#打开SDE数据库的几种方式总结 1.通过指定连接属性参数打开数据库 /// <param name="server">数据库服务器名< ...
- 一个自己主动依据xcode中的objective-c代码生成类关系图的神器
https://github.com/kimsungwhee/KSHObjcUML 安装方法: 1.下载项目 2.执行 3.会又一次开启一个新的xcode 4.选择一个项目,点击 Objc-UML 会 ...
- 【搜索引擎Jediael开发笔记】V0.1完整代码 2014-05-26 15:16 443人阅读 评论(0) 收藏
详细代码请见 E:\Project\[重要]归档代码\SearchEngine归档代码 或 https://code.csdn.net/jediael_lu/jediael/tree/10991c83 ...
- 【PHP】php 递归、效率和分析(转)
递归的定义 递归(http:/en.wikipedia.org/wiki/Recursive)是一种函数调用自身(直接或间接)的一种机制,这种强大的思想可以把某些复杂的概念变得极为简单.在计算机科学之 ...
- [Compose] 8. A curated collection of Monoids and their uses
const { List } = require('immutable-ext'); const Right = x => ({ chain : f => f(x), ap : other ...
- ios开发日期的NSDate,NSCalendar分类
#import <Foundation/Foundation.h> @interface NSDate (XMGExtension) /** */ // @property (nonato ...
- ios开发之多线程---GCD
一:基本概念 1:进程:正在运行的程序为进程. 2:线程:每个进程要想执行任务必须得有线程,进程中任务的执行都是在线程中. 3:线程的串行:一条线程里任务的执行都是串行的,假如有一个进程开辟了一条线程 ...