电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 图形图象-> 相关软件
用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.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·hierarchicalflexgrid控件_visualbasic教程
·制作证件照片其实很方便_相关软件教程
·无需photoshop等软件 上网也能改图片_相关软件教程
·corel paintshop pro x简体中文版新功能_相关软件教程
·illustrator丰富画笔轻松制作漂亮像框_相关软件教程
·使用文本窗口和对话框_autocad教程
·painter为卡通漫画纸描线稿上色_相关软件教程
·用photoshop自己制作标准证件照_photoshop教程
·linux程式设计-11.shellscript(bash)--(7)流程控制select_shell教程
·重定义编译dll文件的基地址_visualbasic教程

最新文章
·实战解决优化后windows xp不能自动更新的问题_windows xp
·php的content-type=text/html问题_php技巧
·imageready为照片轻松添加动画相框_相关软件教程
·php调用存储过程返回结果集,解决cant return a result set in the given context错误的方法_php技巧
·illustrator巧绘布娃娃矢量图_相关软件教程
·趣味在线制作:在美女纤纤细腰上留名_相关软件教程
·用imageready切片导出html网页_相关软件教程
·photoimpact处理照片之换头神功_相关软件教程
·体验freehand mx的矢量3d图形功能_相关软件教程
·freehand与pagemaker的联合协作_相关软件教程


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号