當前位置:編程學習大全網 - 源碼下載 - vb 如何用BitBlt復制後臺程序圖像?

vb 如何用BitBlt復制後臺程序圖像?

vb自帶了快速圖片復制更能以取代api函數的bitblt

妳可以用paintpicture方法實現,效果更優於bitblt函數

方法:

對象.paintpicture 圖片源(為stdpicture變量,也可以是對象.picture屬性),目標x坐標,目標y坐標,目標長,目標寬,源x坐標,源y坐標,源長,源寬,處理方式

其中處理方式有好像12種,其中vbsrccopy 指強制覆蓋

這個vb自帶的內部函數可以自適應的拉伸目標圖像

具體詳細方法,妳可以專門查壹查vb的paintpicture方法,我現在在網吧,沒有vb程序,所以只能幫妳到這種程度了,見諒!

BitBlt是將壹幅位圖從壹個設備場景復制到另壹個

目標和源必須都是設備場景

妳應該用SetDIBitsToDevice 將壹幅與設備無關位圖的全部或部分數據直接復制到壹個設備

VB聲明

Declare Function SetDIBitsToDevice Lib "gdi32" Alias "SetDIBitsToDevice" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal dx As Long, ByVal dy As Long, ByVal SrcX As Long, ByVal SrcY As Long, ByVal Scan As Long, ByVal NumScans As Long, Bits As Any, BitsInfo As BITMAPINFO, ByVal wUsage As Long) As Long

說明

將壹幅與設備無關位圖的全部或部分數據直接復制到壹個設備。這個函數在設備中定義了壹個目標矩形,以便接收位圖數據。它也在DIB中定義了壹個源矩形,以便從中提取數據

返回值

Long,執行成功則返回掃描線的數量,零表示失敗。會設置GetLastError

參數表

參數 類型及說明

hdc Long,壹個設備場景的句柄。該場景用於接收位圖數據

x,y Long,用邏輯坐標表示的目標矩形的起點

dx,dy Long,用目標矩形的設備單位表示的寬度及高度

SrcX,SrcY Long,用設備坐標表示的源矩形在DIB中的起點

Scan Long,Bits數組中第壹條掃描線的編號。如BitsInfo之BITMAPINFOHEADER部分的biHeight字段是正數,那麽這條掃描線就會從位圖的底部開始計算;如果是負數,就從頂部開始計算

NumScans Long,欲復制的掃描線數量

Bits Any,指向壹個緩沖區的指針。這個緩沖區包含了以DIB格式描述的位圖數據;這種格式是由BitsInfo指定的

BitsInfo BITMAPINFO,對Bits DIB的格式和顏色進行描述的壹個結構

wUsage Long,下述常數之壹

DIB_PAL_COLORS 顏色表是壹個整數數組,其中包含了與目前選入hdc設備場景的調色板相關的索引

DIB_RGB_COLORS 顏色表包含了RG顏色

註解

用GetDeviceCaps判斷設備是否支持這個函數

  • 上一篇:如何安裝和配置Python
  • 下一篇:解碼大全源代碼
  • copyright 2024編程學習大全網