用VB實現“百葉窗”的圖形特效 (轉)
在這樣的中,各種各樣的圖形特效層出不窮,其中“百葉窗”的切換效果尤為新穎奇特。在VB中實現這樣的圖形特效十分簡單方便。其方法是的Bitblt。BitBlt函式就類似於C語言中的getimage、putimage兩個函式的組合運用。BitBlt原意是“Bit Block Traner”,其主要用途是點陣圖的複製。用BitBlt函式顯示圖形特效,其原理十分簡單,製作時先在表單中繪製兩個圖片框,將圖片存入一個圖片框,同時將另一個圖片框設為空,然後呼叫BitBlt函式將第一個圖片框中的圖形一部分一部分地複製到第二個圖片框中,這樣就可以實現千奇百怪的圖形特效。其步驟如下:
在VB環境中新建一個窗體,繪製兩個圖片框picSour和picDest,兩個命令按鈕cmdShow和cmdExit。首先在窗體的通用過程中宣告BitBlt函式即所需要的常量名,在載入窗體同時在picSour中載入圖片,在按鈕cmdShow的事件中呼叫BitBlt函式。如下:
API函式宣告:
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
Const COPY-PUT=&HCC0020′BitBlt的15種演算法之一,表示直接複製
載入圖片:
Sub Form-Load()
picsour.Picture=LoadPicture(″c:windowsLEAVES.bmp″)
picsour.ScaleMode=3′以象素為單位
End Sub
顯示“百葉窗”的切換效果:
Sub Comshow-Click()
H%=picsour.ScaleHeight
W%=picsour.ScaleWidth
scanlines=4
For i=0 To(scanlines-1)
For j=i To H% Step scanlines
s%=BitBlt%(picdest.hDC,0,j,W%,1,picsour.hDC,0,j,copy-Put)
delay 500′延時
Next j
Next i
End Sub
其中delay是一個通用子過程,用於延時,以便於能看清楚切換效果。程式碼如下:
Sub delay(delaytime As Integer)
For i=1 To delaytime
Next i
End Sub
透過這樣簡單的程式就可以實現“百葉窗”的切換特效,其實,只要有合適的演算法,運用BitBlt函式能夠實現的圖形特效是無窮的。有興趣的讀者可以查閱有關VB的參考書。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-988879/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- android簡單的圖形特效處理Android特效
- 用canvas實現流星特效Canvas特效
- jQuery實現圖示特效(精靈圖)jQuery特效
- Android自定義View之圖片外形特效——輕鬆實現圓角和圓形圖片AndroidView特效
- 線性代數在前端中的應用(二):實現滑鼠拖拽旋轉元素、Canvas圖形前端Canvas
- C#/VB.NET 實現Word和ODT文件相互轉換C#
- java圖形驗證碼實現Java
- HTML+CSS實現選單的3D翻轉特效HTMLCSS3D特效
- AutoCAD快速入門(二):圖形視窗
- 用html5實現圖片的旋轉--照片牆HTML
- 懸浮窗的一種實現 | Android懸浮窗Window應用Android
- 【轉載】使用WindowManage實現Android懸浮窗Android
- C# / VB.NET 在PPT中建立、編輯PPT SmartArt圖形C#
- 用最簡單的方法實現原生 JS 放大鏡特效JS特效
- 圖形驗證碼設計實現
- java 語音用xml檔案實現圖形介面 xml檔案JavaXML
- 滑鼠懸浮實現環形旋轉效果
- 17 個實用的影像特效庫特效
- css實現圖片背景填充的正六邊形CSS
- Glide實現圓角圖片,以及圓形圖片IDE
- 利用百度AI OCR圖片識別,Java實現PDF中的圖片轉換成文字AIJava
- 如何基於 echarts 在柱狀圖或條形圖上實現轉換率?(有想法嗎?)Echarts
- 用Java實現Stream流處理中的滑窗Java
- Vue.js實現圖形驗證碼Vue.js
- CSS實現開關特效CSS特效
- 別用圖片了,CSS遮罩合成實現帶圓角的環形loading動畫CSS遮罩動畫
- 使用.Net Core實現的一個圖形驗證碼
- 量子圖形加密演算法的MATLAB程式碼實現加密演算法Matlab
- .滑鼠點選愛心特效的實現特效
- 直播特效的實現原理與難點特效
- php實現pdf轉圖片PHP
- php實現圖片旋轉PHP
- 求助:EXCEL,VB,實現 CRC16 校驗Excel
- Chrome OS 有了全新的視窗管理機制,向現代化的圖形作業系統Chrome作業系統
- 還在用餅狀圖?來瞧瞧這些炫酷的百分比視覺化新圖形(附程式碼實現)⛵視覺化
- 計算機圖形學:虛擬和現實世界的融合計算機
- canvas 圖形圍繞中心旋轉Canvas
- Web應用隱形後門的設計與實現Web
- Highcharts結合Asp.net實現動態資料股票式圖形顯示例項 .【轉】ASP.NET