用VB5制作家庭影集

2016-02-19 14:56 6 1 收藏

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享用VB5制作家庭影集的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - 编程语言 】

  你想拥有自己的电子家庭影集吗?其实用VB就能实现。方法如下:

  准备:家庭普通照片经扫描后储存。

  构想:照片一张接一张出现在屏幕中间,出现时的方式采取动态切换,上方一行标题从左向右移过,标题与照片的背景色随机变化。

  关键:调用Bitblt Windows API函数实现照片的动态切换。

  内容:工程由Forml和modluel构成。

  FORML中的内容如下:

  

Comst bmpfilemax=11 照片数目常量Const bmpfile(bmpfilemax)As String照片的文件组Dim brawbmpmode(bmpfilemax)As in-teger 照片的切换方式Dim bmpnum,mouvstep,xmax,ymax,endmax,lleft,r,n ,As Integer 照片的序号,步进参数Dim kxy As Single x y方向的比例Private Sub Exit_Click( )EndEne SubPrivate Sub Form_Load( )Labell.Lert=0Labell.Caption="Family Album"Picturel.AutoSize=TruePicturel,Visible=FalseBmpfile(0)=App,path+"  sonl.jpg"Bmpfile(1)=App.Path+"  mom_sonl.jpg"Bmpfile(2)=App.Path+" daddy_son.jpg"Bmpfile(3)=App.path+" yu99yantai.jpg"Bmpfile(4)=App.Path+" yu98singap2.jpg"Bmpfile(5)=App.Path+" yu98singapore.jpg"Bmpfile(6)=App.Path+" mom_son2.jpg"Bmpfile(7)=App.Path+" yu99yan2.jpg"Bmpfile(8)=App.Path+" fami_ly.jpg"Bmpfile(9)=App.Path+" fan_yantai.jpg"Bmpfile(10)=App.Path+" yu99yan3.jpg"Drawbmpmode(bmpnum) =1+int (Rnd()*4)Movestep=0 步进参数Xmax=Forml.scaleWidth/Ymax=Forml.scaleHeight/Kxy=ymax/xmaxPicture1.picture=LoadPicture(bmpfile(bmpnum))Timerl.Interval=30End Sub Private Sub Timer1_Timer()M=Forml.scaleWidth/_Pic_turel.width/照片显示结束时的X方向居中定位N=Forml.scaleHeight/_Pic_turel.Height/照片显示结束时的Y方向居中定位HDestDC=Forml.HdcHsrcDC=picture1.HdcDrawflag=drawbmpmode(bmpnum)照片显示时的切换方式Select Case drawflagCase1 切换方式为从左右向中间进行Time Interval=30Endmax=xmaxW=movestepH=picture1,HeightI=BitBlt(hDestDC,0+m,0+n,w,h,hSrcDC,0,0SRCCORY)X1=Picture,width_movestepI=BitBlt(hDestDC,X1+m,0+n,w,h,hSrcDC,X1,0,SRCCOPY)

  Case2切换方式为从中间向四周扩散进行

  

Timer1.Interval=30Endmax=xmaxX1=xmax_movestepW=movestep*2Y1=cint(ymax-movestep*kxy)H=cint(2*movestep)I=BitBlt(hDestDC,X1+m,Y1+n,w,h,hSrcDC,X1,Y1,SRCCOPY)Case3切换方式为栅栏翻转进行Timer1.Interval=200Ednmax=Cint(2*xmax/10)Tempi=Cint(2*xmax/10)W=movestepH=Picture1.ScaleHeightFor ij=0 TO 9I=BitBlt(hDestDC,tempi*ij+m,0+n,w,h,hSrcDC,tempi*ij,0,SRCCOPY)Next ijCase4切换方式为从左向右进行Timer1.Interval=30Endmax=xmaxW=movestep*2H=Forml.ScaleHeightI=BitBlt(hDestDC,0=m,0+n,w,h,hSrcDC,X1,Y1,SRCCOPY)Ends SelectForml.RefreshMovestep=movestep+4Labell.left=movestepIfmovestependmax+60ThenBmpnum=bmpnum+1Ifbmpnumbmpfilemax thenBmpnum=0End IF ClsMovestep=0Picture1.Picture=LoadPic_1+int(Rnd()*4)Backcolor=QBColor(Rnd*15)Labell.ForeClolr=QBColor(Rnd*10)If backcolor=Labell.ForeColor ThenLabell.forecolor=vbBlackEnd ifLabell.Caption=family album"Labell.top=picturel.topEnd if End sub

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

  Modluel中的内容如下:

  

Option explicitPublic comst SRCCOPY=&HCC0020(DWORD)dest=sourceDeclare Function BitBlt Lib"gdi32"(byval hDestDCAs_Long,byval x as long,byval y as long ,byval n width_Byval xsrc as long,byval ysre as long ,byval dwrop as long)as long

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

来源:http://www.tulaoshi.com/n/20160219/1608403.html

延伸阅读
工具/原料 剪刀 鲜花 花卉泡沫 刀 酒杯 第一步:准备好需要使用的材料(剪刀 鲜花 花卉泡沫 刀 酒杯)。 第二步:用刀将花卉用刀裁剪成方块,然后放入到酒杯中。试下花卉泡沫大小可不可以。 第三步:把花卉泡沫放入水盆,让花卉泡沫吸入水。 第四步:把叶子插入到...
----VisualBasic5.0(以下简称VB)以其简单易学、32位面向对象的程序设计等特点,倍受广大计算机开发者的青睐,已泛地应用于各个领域;在实时监测系统中串行端口通信是一项基础功能,因此我们使用VB5编写了实时水库水文自动监测系统的后台机软件。本文就Windows95环境中采用VB5设计串行端口通信程序进行讨论并给出实例。 ----一般用VB开...
文艺小青年们总喜欢把自己的办公桌和家打扮得清新貌美。从外面嘈杂环境中进门就会突然间换了心情如果花盆漂亮,插进花盆里的花朵就会更耀眼。连在路边采的野花都会光鲜很多呢。扮靓花盆的方法有很多,今天就告诉大家用碎石子和石膏做出的文艺风十足的花盆,方法学会了还能用在其他地方呢,要不要给你家的碗也DIY一下呢~~~ ...
每家肯定都有很多不想再穿的旧衣服,不想把它做太多改造的话干脆直接当抹布吧。这次的改造是拖把头上的拖布,去超市买到的拖把头好的要十几二十,便宜的也要7,8块钱,能省一块算一块钱,而且不想穿的衣服正好也能走完它最后的时光。在衣服材质上最好选棉质的,不会起静电。 先做一块大一点的底布 这...
爸爸承诺过会给我做个秋千,在城里那个房子的阳台上,我心驰神往了好久。直到房子建好,颠颠儿跑去看新房,才发现阳台不够大,挂不了那种可以耍帅的秋千,一耍就从10层楼上掉下去了。安个公主式的秋千又太装逼,对面十几栋楼的人都能瞅着你。天天跑到开放式阳台去,穿着轻飘飘衣服坐在秋千上和闺蜜(哪来那么多闺蜜啊!)哈哈哈...

经验教程

797

收藏

41
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部