VB编程实现图像的熠熠生辉效果

时间:2010-01-28 13:49:49  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:(距扫描线)的规律增强亮度(当然,扫描线并不显示出来,它只是一个抽象的概念,以方便我们的编程工作)。当扫描线从图像最左端平滑地移动到图像最右端的时候,由于视觉暂留作用,看起来就会有熠熠生辉的效果。那么怎样加强像素的亮度呢?可不能直接增大像素的颜色值,因为像素的颜色值是一个长整形数值,使用4个字节表示,最高位的字节的值为0,其它3个字节依次是B、G、R值,所以要加强...
  正文:一道炫目的闪光在图像上从左至右徐徐掠过,相信如果把这样的特效应用到程序的界面上一定能为你的程序增色不少。这样的特效到底是怎样实现的呢?让我们一起来分析一下,这是本特效在某一瞬间的截图,可以看出沿着一条倾斜的扫描线,它周围的象素都按照近强远弱(距扫描线)的规律增强亮度(当然,扫描线并不显示出来,它只是一个抽象的概念,以方便我们的编程工作)。当扫描线从图像最左端平滑地移动到图像最右端的时候,由于视觉暂留作用,看起来就会有熠熠生辉的效果。那么怎样加强像素的亮度呢?可不能直接增大像素的颜色值,因为像素的颜色值是一个长整形数值,使用4个字节表示,最高位的字节的值为0,其它3个字节依次是B、G、R值,所以要加强像素的亮度,就要分别增加B、G、R值的大小。由于这是个动态特效,静态图片很难表达清楚,读者可先运行一下代码以帮助理解。

  为了使本特效更灵活、更实用,笔者定义了几个参数,可以通过参数对特效做调整以达到满意的效果。

  参数表-----------------------------------------------------

  Angle         光照倾角,取值0到90之间,以角度为单位

  WidthOfArea   光照区宽度,取值大于1的整数,以像素为单位

  Speed         光照区运动速度,取值大于1的整数

  EnhanceRatio  光照强度参数,取值大于1的整数

-----------------------------------------------------


  好,原理就这么多,现在我们开始动手实现吧!打开vb6.0,选择新建标准EXE工程,在主窗口form1中绘制下表中所列控件并设置窗体和各控件的属性。

控件

属性

设置

Form1

Name

Form1

ScaleMode

3-pixel

PictureBox

Name

PicDest

ScaleMode

3-pixel

Picture

背景图

PictureBox

Name

PicSource

ScaleMode

3-pixel

Picture

主体图

Label

Name

LblA

Caption

角度

Textbox

Name

TxtA

Text

30

Label

"VB编程实现图像的熠熠生辉效果"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Language/VB/12564.html

 1/4    1 2 3 4 下一页 尾页


关键字:

关于《VB编程实现图像的熠熠生辉效果》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td