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

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

用VB實現“百葉窗”的圖形特效

2019-11-18 17:36:38
字體:
來源:轉載
供稿:網友
Powerpoint這樣的軟件中,各種各樣的圖形特效層出不窮,其中“百葉窗”的切換效果尤為新穎奇特。在VB中實現這樣的圖形特效十分簡單方便。其方法是調用WINDOWS的API函數Bitblt。BitBlt函數就類似于C語言中的getimage、putimage兩個函數的組合運用。BitBlt原意是“BitBlockTransfer”,其主要用途是位圖的復制。用BitBlt函數顯示圖形特效,其原理十分簡單,制作時先在表單中繪制兩個圖片框,將圖片存入一個圖片框,同時將另一個圖片框設為空,然后調用BitBlt函數將第一個圖片框中的圖形一部分一部分地復制到第二個圖片框中,這樣就可以實現千奇百怪的圖形特效。其步驟如下:
在VB環境中新建一個窗體,繪制兩個圖片框picSour和picDest,兩個命令按鈕cmdShow和cmdExit。首先在窗體的通用過程中聲明BitBlt函數即所需要的常量名,在載入窗體同時在picSour中載入圖片,在按鈕cmdShow的事件中調用BitBlt函數。程序如下:
API函數聲明:
DeclareFunctionBitBltLib″GDI″(ByValhDestDCAsInteger,ByValXAsInteger,ByValYAsInteger,ByValnWidthASInteger,ByValnHeightAsInteger,ByValhSrcDCAsInteger,ByValxSrcAsInteger,ByValySrcAsInteger,ByValdwRopAsLong)AsInteger
ConstCOPY-PUT=&HCC0020′BitBlt的15種算法之一,表示直接拷貝
載入圖片:
SubForm-Load()
picsour.Picture=LoadPicture(″c:/windows/LEAVES.bmp″)
picsour.ScaleMode=3′以象素為單位
EndSub
顯示“百葉窗”的切換效果:
SubComshow-Click()
H%=picsour.ScaleHeight
W%=picsour.ScaleWidth
scanlines=4
ForI=0To(scanlines-1)
Forj=IToH%Stepscanlines
s%=BitBlt%(picdest.hDC,0,j,W%,1,picsour.hDC,0,j,copy-Put)
delay500′延時
Nextj
NextI
EndSub
其中delay是一個通用子過程,用于延時,以便于能看清楚切換效果。代碼如下:
Subdelay(delaytimeAsInteger)
ForI=1Todelaytime
NextI
EndSub
通過這樣簡單的程序就可以實現“百葉窗”的切換特效,其實,只要有合適的算法,運用BitBlt函數能夠實現的圖形特效是無窮的。有興趣的讀者可以查閱有關VB的參考書。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 即墨市| 兴城市| 正镶白旗| 拜泉县| 光泽县| 富宁县| 祁连县| 乐清市| 谷城县| 靖江市| 平乐县| 买车| 富民县| 永寿县| 光泽县| 奈曼旗| 专栏| 长乐市| 开鲁县| 长垣县| 德令哈市| 邵阳市| 沁水县| 夏河县| 上杭县| 石棉县| 太白县| 二连浩特市| 原平市| 工布江达县| 依兰县| 普兰县| 井冈山市| 额尔古纳市| 额敏县| 杭锦旗| 大庆市| 平顶山市| 隆林| 蓝田县| 乐陵市|