WEB开发网
开发学院软件开发VC Visual C++实现各种文字特殊效果 阅读

Visual C++实现各种文字特殊效果

 2007-03-15 21:48:48 来源:WEB开发网   
核心提示: 如同使用其它GDI(图形用户界面接口)对象一样,在使用你定义的字体以前,Visual C++实现各种文字特殊效果(3),必须要将创建的字体选入DC中(设备上下文),(二)实现3D文字计算机屏幕是平面二维的,从而实现文字的渐变显示,这里仅仅给出实现的思路,我们之所以能欣赏到真如实物般的三维图

如同使用其它GDI(图形用户界面接口)对象一样,在使用你定义的字体以前,必须要将创建的字体选入DC中(设备上下文)。

(二)实现3D文字

计算机屏幕是平面二维的,我们之所以能欣赏到真如实物般的三维图像,是因为显示在计算机屏幕上时色彩灰度的不同而使人眼产生视觉上的错觉,而将二维的计算机屏幕感知为三维图像。基于色彩学的有关知识,三维物体边缘的凸出部分一般显高亮度色,而凹下去的部分由于受光线的遮挡而显暗色。这一认识被广泛应用于网页或其他应用中对按钮、3D线条的绘制。对于本文所要绘制的3D文字同样也适用,即在原始位置显示高亮度颜色,而在左下或右上等位置用低亮度颜色勾勒出其轮廓,这样在视觉上便会产生3D文字的效果。具体实现时,可用完全一样的字体在不同的位置分别绘制两个不同颜色的2D文字,只要使两个文字的坐标合适,就完全可以在视觉上产生出不同效果的3D文字。

具体实现的思想是通过CDC::SetTextColor()分别设置文字的颜色为高亮(3DHILIGHT)和阴影(3DSHADOW)的状态下显示文字;同时注意在两次显示文字时要错开几个像素,这样才能达到预期的效果。实现的效果上文的图二所示。

(三)文字的渐变效果

为了实现文字的渐变效果,需要设置一个定时器(使用SetTimer()函数),在定时器响应函数处理过程中,通过调用CDC:SetTextColor()函数不断改变设备上下文中文本的显示颜色,从而实现文字的渐变效果。文本的颜色是通过RGB(红、绿、兰)三种基本颜色的混合所形成的最终结果,RGB三基色的变化范围都是(0,255),R=G=B时,颜色的效果是灰色的,所谓灰色,就是在纯白和纯黑之间的一种过渡色,当R=G=B=0时,颜色为黑色,当R=G=B=255时,颜色为纯白色,可以定义一个修正变量,不断的对该三基色进行递增或递减,从而实现文字的渐变显示。这里仅仅给出实现的思路,读者自己可以很容易的实现代码。

上一页  1 2 3 4 5  下一页

Tags:Visual 实现 各种

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接