📄 m79.htm
字号:
<html>
<head>
<title>VB教程</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<p align="center"><script src="../../1.js"></script></a>
<body bgcolor="#ffffff" leftmargin="5" topmargin="1" marginheight="5" marginwidth="5">
<div align=center>
<table border=0 cellpadding=0 cellspacing=0 width=680 align="center">
<tbody>
<tr>
<td bgcolor=#000000 height=9>
<div align=center class=H1> <font color="#FFFFFF">用VB实现“百叶窗”的图形特效</font> </font> </font></div>
</td>
</tr>
<tr valign=top>
<td class=H1 height=76>
<p align="left"> <br>
</font> <font color="#000000">在Powerpoint这样的软件中,各种各样的图形特效层出不穷,其中“百叶窗”的切换效果尤为新颖奇特。在VB中实现这样的图形特效十分简单方便。其方法是调用WINDOWS的API函数Bitblt。BitBlt函数就类似于C语言中的getimage、putimage两个函数的组合运用。BitBlt原意是“Bit
Block Transfer”,其主要用途是位图的复制。用BitBlt函数显示图形特效,其原理十分简单,制作时先在表单中绘制两个图片框,将图片存入一个图片框,同时将另一个图片框设为空,然后调用BitBlt函数将第一个图片框中的图形一部分一部分地复制到第二个图片框中,这样就可以实现千奇百怪的图形特效。其步骤如下:<br>
在VB环境中新建一个窗体,绘制两个图片框picSour和picDest,两个命令按钮cmdShow和cmdExit。首先在窗体的通用过程中声明BitBlt函数即所需要的常量名,在载入窗体同时在picSour中载入图片,在按钮cmdShow的事件中调用BitBlt函数。程序如下:<br>
API函数声明:<br>
Declare Function BitBlt Lib″GDI″(ByVal hDestDC As Integer,ByVal X As
Integer,ByVal Y As Integer,ByVal nWidth AS Integer,ByVal nHeight As
Integer,ByVal hSrcDC As Integer,ByVal xSrc As Integer,ByVal ySrc As
Integer,ByVal dwRop As Long)As Integer<br>
Const COPY-PUT=&HCC0020′BitBlt的15种算法之一,表示直接拷贝<br>
载入图片:<br>
Sub Form-Load()<br>
picsour.Picture=LoadPicture(″c:\windows\LEAVES.bmp″)<br>
picsour.ScaleMode=3′以象素为单位<br>
End Sub<br>
显示“百叶窗”的切换效果:<br>
Sub Comshow-Click()<br>
H%=picsour.ScaleHeight<br>
W%=picsour.ScaleWidth<br>
scanlines=4<br>
For i=0 To(scanlines-1)<br>
For j=i To H% Step scanlines<br>
s%=BitBlt%(picdest.hDC,0,j,W%,1,picsour.hDC,0,j,copy-Put)<br>
delay 500′延时<br>
Next j<br>
Next i<br>
End Sub<br>
其中delay是一个通用子过程,用于延时,以便于能看清楚切换效果。代码如下:<br>
Sub delay(delaytime As Integer)<br>
For i=1 To delaytime<br>
Next i<br>
End Sub<br>
通过这样简单的程序就可以实现“百叶窗”的切换特效,其实,只要有合适的算法,运用BitBlt函数能够实现的图形特效是无穷的。有兴趣的读者可以查阅有关VB的参考书。
</font></span></p>
<p></p>
</table>
</div>
<p align="center"><a href="../../pian/vb.htm">回首页</a>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -