转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
利用VB设计图像的显示效果         ★★★★

利用VB设计图像的显示效果

作者:闵涛 文章来源:闵涛的学习笔记 点击数:738 更新时间:2009/4/23 14:57:44
  图像显示是程序设计中必不可少的内容。我们可使用VB中的图片框控制或图像控制进行图像显示的操作,但它的显示属于直接显示,不像一些多媒体制作系统(如Authorware)那样对图像的显示提供多种效果。具有一定效果的图像显示能给用户以新颖、难忘的感觉。

如何利用VB设计图像的显示效果是本文讨论的内容。

  首先我们来了解一下图像的显示效果:一幅图像可以以这样或那样的方式显示在屏幕上的某一指定区域,如:可以从左到右逐渐显示出来,也可以从中间向两边(即开门方式)逐渐显示,还可以像百叶窗那样显示等等,这些都是显示效果。采用这样的显示效果可给图像的显示增加动感,从而增强界面的可观性?

一、分析

  要使图像显示具有一定的效果,需先将图像分割成若干块,然后按照所需效果利用程序控制图像块的显示次序及时间间隔。例如:要设计从左到右的显示效果,可把图像分割成若干列块,然后在程序中先显示最左边的一块,之后,第二块、第三块……,直到最后一块。为了分割图像,可使用VB中的图片剪裁控制,它可将图像分割成若干行(Col)、列(Row)。为使图像块与块之间的显示具有一定的时间间隔,以达到动态效果,可使用VB中的计时器。另外, 要显示图像块,需要在界面上有相应的控制来放置它们,VB中的图片框和图像控制可用来显示图像,但它们只能显示出某一块,也就是在装入下一个图像块时,当前显示的图像块被覆盖。为了能依次显示出所有的块,可使用VB中的网格控制,把网格设计成同样的行数和列数 ,把网格单元(Cell)的大小设计成同图像块一样,在对应的网格单元中装入相应的图像块即可。

二、设计步骤

1、确定图像大小及要分割的行、列数

  利用图像控制工具在窗体上创建一个Image,用鼠标双击其属性窗口中的Picture项以装入要显示的图像文件。然后记住其宽度和高度,其单位默认为Twips(1twip=1/15Pixel),之后删除此Image。再用图片剪裁控制工具在窗体上建立一个PictureClip,双击其属性窗口中的Picture项可装入要分割的图像,然后将其属性Rows和Cols设置为对应的要分割的行、列数。在确定要分割的行、列数时应注意:要使行、列数能被图像的高度、宽度对应整除,否则会在图像块与块之间显示缝隙。商数不小于15(即一个Pixel大小),因为网格的最小单位为1个 el。 

2、设置网格大小及行、列数

  利用网格控制工具在窗体适当位置建立一个Grid,将其属性窗口中的Width和Height属性设置为对应的图像宽度和高度,Rows和Cols属性设置为对应的行、列数,并将其FixedCols、FixedRows、ScrollBars属性设置为0,Enabled、Gridlines、HighLight属性设置为False。 

3、设置计时器时间间隔

利用计时器控制工具在窗体上建立一个Timer,将其Interval(间隔)属性设置为适当的值, 其单位为毫秒。 

4、编程设置网格单元大小;编制图像块的显示程序

  在程序中,利用属性设置语句把网格单元的大小设置为图像块大小,即网格单元宽度=图像宽度/列数,网格单元高度=图像高度/行数。

  在计时器过程中编写图像块的显示程序。 

三、实例

  假设一个图像宽度为5280Twips,高度为3600Twips。

1、从左到右方式

  窗体及其中各控制的属性设置:

Begin Form Display

Caption="图像显示"

Height=4530

Left=1845

Top=975

Width=6120

Begin PictureClip pict

Cols=88

Rows=1

End

Begin Grid Grid1

BorderStyle=1

Cols=88

Enabed=False

FixedCols=0

FixedRows=0

GridLines=False

Height=3600

HighLight=False

Left=240

Rows=1

ScrollBars=0

Top=240

Width=5280

End

Begin Timer Timer1

Enabled=False

Interval=30

End

End

窗体的通用声明部分:

  Dim bc As Integer 图像块控制变量过程代码:

Sub Form__Load()

Dim i As Integer

bc=0

Gridl.RowHeight(0)=3600 网格单元的高度

For i=0 To 87

Grid1.ColWidth(i)=5280/88 网格单元的宽度

Next i

Timerl.Enabled=True 启动计时器

End Sub

Sub Timer1_timer()

If bc=88 Then

Timer1.Enabled=False 停止计时

Else

Grid1.Col=bc

Grid1.Picture=Pict.GraphicCell(bc)

在网格单元中装入对应的图像块

bc=bc+1

End If

End Sub

 

2、开门方式

  窗体及其中各控制的属性设置:同1。

  窗体的通用声明部分:同1。

  过程代码:

Sub Form__Load()

Dim i As Integer

bc=43

Grid1.RowHeight(0)=3600

For i=0 To 87

Grid1.Co1Width(i)=5280/88

Next i

Timer1.Enabled=True

End Sub

Sub Timerl_Timer()

Grid1.Col=bc

Grid1.Picture=Pict.GraphicCell(bc)

Grid1.Col=87-bc

Grid1.Picture=Pict.GraphicCell(87-bc)

bc=bc-1

if bc< 0 Then Timerl.Enabled=False

End Sub

 

3、水平百叶窗方式

窗体及其中各控制的属性设置:同1。

窗体的通用声明部分:同1。

过程代码:

Sub Form__Load()

Dim i As Integer

bc=0

Grid1.RowHeight(0)=3600

For i=0 To 87

Grid1.Co1Width(i)=5280/88

Next i

Timer1.Enabled=True

End Sub

Sub Timer1__Timer()

Dim i As Integer

For i =0 to 10

Grid1.Col=8 * i+bc

Grid1.Picture=Pict.GraphicCe11(8 * i+bc)

Next i

bc=bc+1

If bc=8 Then Timer1.Enabled=False

End Sub

  以上介绍了图像的三种显示效果。类似地,还可设计出其它一些显示效果,如:从右到左、从上到下、从下到上、关门方式、垂直百叶窗方式、相机光圈收缩方式、相机光圈开放方式等。

  以上程序在中文Windows3.2、Visual Basic 3.0专业版上调试通过。

155


[VB.NET程序]GSM短信模块库函数,可以用VB,VC,调用简单实用  [办公软件]PowerPoint做交互课件之弃用VBA
[办公软件]VBA获取U盘、主板、CPU序列号和网卡MAC地址  [办公软件]VBA设置文件属性及加密源代码示例
[办公软件]VBA中初始化ADO连接的几种方法  [网络安全]“VB破坏者变种N”病毒摘要
[Web开发]ASP.NET上传文件到数据库VB版  [办公软件]在Excel中利用VBA实现多表单元格数据的读取与赋值…
[办公软件]使用Vba读取已关闭的Excel工作薄数据到当前工作表…  [办公软件]Excel编程基础之VBA文件操作详解
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台