首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 网络编程-> 移动开发教程
用vb6.0实现几种图文特效的演示程序_visualbasic教程
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
电影或电视中经常可见到一些字幕或图片的动态变化特技,在制作多媒体教学软件或广告宣传等多媒体演示文档时,也常常需要用到一些图文的动态变化效果。VB6.0作为Windows软件的强有力开发工具,在多媒体程序设计方面具有广阔的应用前景。本文讨论运用VB6.0的定时器并结合WindowsAPI函数实现图片或文字的动态缩放和渐隐渐现等特技效果。

  一、实现图文动态缩放和渐隐渐现特效的程序方法

  1、程序界面

  取窗体名为Form1,其Windowstate属性设为2。在窗体Form1中设置如下控件和属性:一个标签控件Label1,其backcolor等于form1的backcolor;bondstyle为0,Autosize为True。一个图像控件image1,其Stratch和Visible均为True;Bordstyle为0。两个图片框控件Picture1和Picture2,Visible属性Picture1为False而Picture2为True;AutoRedraw属性Picture1为True而Picture为False;ScaleModel属性两者均为Pixels;Bondstyle属性两者均为0。三个定时器控件Timer1,Timer2和Tirner3;命令按钮控件数组cmd(0),......,Cmd(4),其caption属性分别为:"文字缩放"、"图片缩放"、"文字隐现"、"图片隐现"和"退出"。

  2、文字的动态缩放

  通过VB6.0的定时器控件定时改变文字的Size属性,就可达到文字被动态放大或缩小的效果。程序中通过timer1的tuner过程来控制标签Label1的caption属性文字大小。由cmd(0)触发的cmd_click事件引发timer1_time过程,通过一逻辑变量1(0)(数组元素)控制文字的变化方式,1(0)=true时使字体动态放大,1(0)=false时使字体动态缩小。

  3、图形的动态缩放

  将图像控件image1的stretch属性设为true,可实现控件中图片大小随imagel控件大小的变化而变化。通过定时器timer2的tuner过程定时改变imagel控件的尺寸大小,就达到了使图片动态缩放的效果。由cmd(1)触发的cmd_click事件将引发timer2_time过程,通过逻辑变量1(1)控制图片变化的方式,1(1)=true时控制图片动态放大,1(1)=false时控制图片动态缩小。

  4、文字的渐隐渐现效果

  从字符串中取若干个文字作为标签Label1的caption值,如果从字串中截取的文字数递增(直到等于字串的全部字数),则实现文字渐现效果;而截取的文字如果递减(从字串的全部字数减到0),则实现文字渐隐效果。通过定时器timer3的time:过程定时改变截取的字数,来达到此效果。由cmd(2)触发的。md_click事件引发timer3_time过程,通过逻辑变量1(2)控制文字变化的方式,1(2)=true时使文字渐现,1(2)=false时使文字渐隐。

  5、图形的渐隐渐现效果

  用WindowsAPI函数BitBlt复制图片的方法实现。BitBlt函数的使用方法为:

BitBlthDestDC,x,y,nWidth,nHeight,hSrcDC,xSrc,ySrc,dwRop

  其中各参数的含义为:hDestDC和hSrcDC分别表示目标设备描述表句柄和源设备描述表句柄。即要把图片从hSrcDC复制到hDestDC。Picturellox控件的hDC属性就是我们要用到的设备描述表句柄。x,Y表示目标中左上角的位置,nWidth,nHeight表示目标中的宽和高。即要把图片复制到目标设备描述表中的什么位置,以及复制多宽和多高。xsrc和ySrc表示源图片中的左上角位置,即表示从什么位置开始复制。DwRop参数表示一种绘制方式,常用直接复制方式,这时就取SRCCOPY。

  二、实现图文动态缩放和渐隐渐现特效的程序代码

->对全局变量和API函数的通用声明(API函数Sleep,BitBlt及其常参数SRCCOPY的声明从略,可从API浏览器中复制、粘贴):
Dim1(4)AsBoolean,iasLong,sAsString,ztAsInteger
实现图片渐现渐隐的通用过程:
PrivateSubPicCpy(OptionalstripAsInteger=10,OptionaldelayAsInteger=20)
 DimplwAsInteger,plhAsInteger,p2AsInteger
 If1(3)=TrueThen
  Picture1=LoadPicture("c:\win98\安装程序.bmp")
 Else
  Picture1=LoadPicture("")
 EndIf
 plw=Picturel.Width
 plh=Picturel.Height
 p2=0
 DoWhilep2<=plw
  BitBltPicture2.hDC,p2,0,strip,plh,Picture1.hDC,p2,0,SRCCOPY
  p2=p2 strip
  Sleepdelay
  DoEvents
 Loop由于图片宽度不一定是strip的整数倍,故下面再全图复制一遍图片:
 BitBltPicture2.hDC,0,0,plw,plh,Picture1.hDC,0,0,SRCCOPY
EndSub

PrivateSubForm_load()
 Label1.Font.Name="黑体"
 Image1.Top=0
 Image1.Left=0
 Picture2.Top=0
 Picture2.Left=Screen.Width-Picthne2.Width
 s="产生缩放和隐现效果的文字"
 zt=5zt为字体大小控制变量
 i=0i为显示文字时截取文字的字数变量
EndSub

PrivateSubCmd_Click(IndexAsInteger)
 If1(Index)=TrueThen
  1(Index)=False
 Else
  1(Idex)=True
 EndIf
 SelectCaseIndex
  Case0激活timer1的timer过程
   Timer1.Enabled=True
   Timer1.Interval=50
   ......Case1,2与上述类似,分别激活timer2,timer3的timer过程
  Case3调用图片复制过程Piccpy
   PiCpy10,50
  Case4结束程序运行
   UnloadMe
   End
 EndSelect
EndSub

PrivateSubTimer1_Timer()实现文字缩放的过程
 If1(0)=TrunThen
  zt=zt< 5
 Else
  Zt=Zt-5
 ElseIf
  Ifzt>50orzt<=5Then
   Timer1.Enabled=False
  EndIf
  WithLabel1
   .Font.Size=zt
   .Left=(Form1.Width-Lable1.Width)/2
   .Top=(Form1.Height-Label1.Height)/2
  EndWith
  Label1.Caption=s
EndSub

PrivateSubTimer2_Timer()实现图片缩放的过程
 If1(1)=TrueThen使图片放大
  Image1.Width=Image1.Width Form1.Width/10
  Image1.Height=Image1.Height Form1.Height/10
 Else使图片缩小
  Image1.Width=Image1.Width-Form1.Width/10
  Image1.Height=Image1.Height-Form1.Height/10
 EndIf
 If(Image1.Width>=Form1.Width/2)or(Image1.Width<=Form1.Width/10)Then
  Timer2.Enabled=False
 EndIf
 Image1=LoadPicture("c:\win98\安装程序.bmp")
EndSub

PrivateSubTimer3.Timer()
 Label1.Font.Size=30
 If1(2)=TrueThen
  i=i l
 Else
  i=i一1
 EndIf
 Ifi>=Len(s)oni<1Then
  Timer3.Enabled=False
 EndIf
 Ifi>=0Then
  Label1.Caption=Left$(s,i)
 EndIf
EndSub->

  以上程序在VB6.0和Windows98/2000环境下调试通过。
->


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·ems图片格式转换(java)程序
·使用hashtable实现的购物车-ASP教程,ASP应用
·Java中数据库事务处理的实现-JSP教程,Java技巧及代码
·Oracle数据库操作类(c#)-.NET教程,C#语言
·移动短消息技术演进与业务发展浅析
·ASP生成静态网页,学习CASE的用法,以及“权限”的一种控制方法-ASP教程,组件开发
·中国电信发展移动通信的制式与频段选择
·ASP中access数据库的路径问题-ASP教程,数据库相关
·td-scdma系统移动台接入过程浅析
·JAVA与数据库连接方法(三)-JSP教程,数据库相关
最新文章
·fireworks表现vista毛玻璃朦胧效果_fireworks教程
·google adsense哪些情况会被k号_网赚技巧
·减少google adsense展示单元并不能提高收入_网赚技巧
·google adsense“允许域名”新功能很有用_网赚技巧
·于源:办南京人“淘宝”的大三学生_站长访谈
·谈谈网站策划和网站运营方面的点滴经验_站长心得
·美国网站兵败中国的10大思路性执行错误_站长心得
·付款流程中的电话确认_google推广
·google adsense的部分规则的背面_google推广
·googleadsense富翁排行榜最猛每月赚30万美元_google推广
相关主题
  • 用vb6.0编写手机短信发送_visualbasic教程
  • 用vb6.0设计简易赛车游戏_visualbasic教程
  • 用vb6.0开发猜数字小游戏_visualbasic教程
  • 用vb6.0编写电脑抽奖程序_visualbasic教程
  • 用vb6.0编写磁盘格式化程序_visualbasic教程
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭