国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用VB6.0實現幾種圖文特效的演示程序

2019-11-18 17:41:45
字體:
來源:轉載
供稿:網友
電影或電視中經常可見到一些字幕或圖片的動態變化特技,在制作多媒體教學軟件或廣告宣傳等多媒體演示文檔時,也常常需要用到一些圖文的動態變化效果。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時使PRivateSubPicCpy(Optionalstr 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=5'zt為字體大小控制變量
 i=0'i為顯示文字時截取文字的字數變量
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環境下調試通過。
->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东方市| 万全县| 皮山县| 新河县| 崇义县| 扬州市| 木里| 会理县| 宁阳县| 洛隆县| 永春县| 苏尼特左旗| 达孜县| 江华| 绥芬河市| 太仆寺旗| 巴青县| 景德镇市| 丽水市| 东山县| 宜兰县| 高雄县| 星座| 鄂伦春自治旗| 类乌齐县| 阿拉善左旗| 永定县| 盐城市| 寻乌县| 桑日县| 元谋县| 沅陵县| 淮滨县| 涡阳县| 阿图什市| 融水| 宾川县| 阿克| 拜泉县| 秭归县| 临桂县|