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

大镰诱

大镰诱

2016-02-19 14:53

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的利用VB设计图像的显示效果,过去的都会过去,迎接崭新的开始,释放更美好的自己。

  图像显示是程序设计中必不可少的内容。我们可使用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。

  过程代码:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  

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。

  过程代码:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  

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专业版上调试通过。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
利用VB设计图像的显示效果

利用VB控制窗口显示风格

编程语言 网络编程
利用VB控制窗口显示风格

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

利用VB产生屏幕变暗的效果

编程语言 网络编程
利用VB产生屏幕变暗的效果

利用VB设计聊天室

编程语言 网络编程
利用VB设计聊天室

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

VB图像处理之图像的色彩纠正

编程语言 网络编程
VB图像处理之图像的色彩纠正

VB随机图像的魅力

编程语言 网络编程
VB随机图像的魅力

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

音悦台是什么

音悦台是什么

在PowerPoint2007中绘制云层图形

在PowerPoint2007中绘制云层图形
下拉加载更多内容 ↓