IDirectDrawSurface7::Blt 方法 (ddraw.h)
執行位區塊傳輸 (bitblt) 。 此方法不支援在 bitblt 作業期間進行 z 緩衝或 Alpha 混合。
語法
HRESULT Blt(
[in] LPRECT unnamedParam1,
[in] LPDIRECTDRAWSURFACE7 unnamedParam2,
[in] LPRECT unnamedParam3,
[in] DWORD unnamedParam4,
[in] LPDDBLTFX unnamedParam5
);
參數
[in] unnamedParam1
RECT 結構的指標,定義矩形的左上方和右下角點,以在目的地介面上 bitblt 指向。 如果此參數為 NULL,則會使用整個目的地介面。
[in] unnamedParam2
DirectDrawSurface 物件的 IDirectDrawSurface7 介面指標,該對像是 bitblt 的來源。
[in] unnamedParam3
RECT 結構的指標,定義矩形的左上方和右下角點,以從來源介面上 bitblt 位。 如果此參數為 NULL,則會使用整個來源介面。
[in] unnamedParam4
旗標的組合,決定相關聯 DDBLTFX 結構的有效成員、指定色彩索引鍵資訊,或向 方法要求特殊行為。 定義下列旗標:
驗證旗標
DDBLT_COLORFILL
使用 DDBLTFX 結構的 dwFillColor 成員做為填滿目的地介面上目的地矩形的 RGB 色彩。
DDBLT_DDFX
使用 DDBLTFX 結構的 dwDDFX 成員來指定要用於這個 bitblt 的效果。
DDBLT_DDROPS
使用 DDBLTFX 結構的 dwDDROP 成員,指定不是 Win32 API 一部分的 ROPS (ROPS) 點陣作業。
DDBLT_DEPTHFILL
使用 DDBLTFX 結構的 dwFillDepth 成員做為深度值,以填滿目的地 z 緩衝區介面上的目的地矩形。
DDBLT_KEYDESTOVERRIDE
使用 DDBLTFX 結構的 ddckDestColorkey 成員做為目的地介面的色彩索引鍵。
DDBLT_KEYSRCOVERRIDE
使用 DDBLTFX 結構的 ddckSrcColorkey 成員做為來源介面的色彩索引鍵。
DDBLT_ROP
針對這個 bitblt,使用 DDBLTFX 結構的 dwROP 成員。 這些 ROP 與 Win32 API 中定義的 IP 相同。
DDBLT_ROTATIONANGLE
使用 DDBLTFX 結構的 dwRotationAngle 成員做為表面 1/10) 0 秒指定 (旋轉角度。
色彩索引鍵旗標
DDBLT_KEYDEST
使用與目的地介面相關聯的色彩索引鍵。
DDBLT_KEYSRC
使用與來源介面相關聯的色彩索引鍵。
行為旗標
DDBLT_ASYNC
透過第一個中的第一個,先 (FIFO) 收到的順序,以異步方式執行這個 bitblt。 如果 FIFO 硬體中沒有可用的會議室,呼叫就會失敗。
DDBLT_DONOTWAIT
傳回不含 bitbltting,如果 bitbltter 忙碌,也會傳回DDERR_WASSTILLDRAWING。
DDBLT_WAIT
如果 bitbltter 忙碌,則會延後DDERR_WASSTILLDRAWING傳回值,並在可以設定 bitblt 或發生另一個錯誤時立即傳回。
過時且不支援的旗標
所有DDBLT_ALPHA旗標值
目前未實作。
所有DDBLT_ZBUFFER旗標值
此方法目前不支援 z 感知 bitblt 作業。 不支援開頭為 「DDBLT_ZBUFFER」 的旗標。
[in] unnamedParam5
bitblt 之 DDBLTFX 結構的指標。
傳回值
如果方法成功,傳回值會DD_OK。
如果失敗,方法可以傳回下列其中一個錯誤值:
- DDERR_GENERIC
- DDERR_INVALIDCLIPLIST
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_INVALIDRECT
- DDERR_NOALPHAHW
- DDERR_NOBLTHW
- DDERR_NOCLIPLIST
- DDERR_NODDROPSHW
- DDERR_NOMIRRORHW
- DDERR_NORASTEROPHW
- DDERR_NOROTATIONHW
- DDERR_NOSTRETCHHW
- DDERR_NOZBUFFERHW
- DDERR_SURFACEBUSY
- DDERR_SURFACELOST
- DDERR_UNSUPPORTED
- DDERR_WASSTILLDRAWING
備註
Blt 可以執行同步或異步的位, (後者是預設行為) 。 這些位可以從顯示記憶體到顯示記憶體、從顯示記憶體到系統記憶體、從系統記憶體到顯示記憶體,或從系統記憶體到系統記憶體。 您可以使用來源色彩索引鍵和目的地色彩索引鍵來執行 bitblts。 如果來源和目的地矩形的大小不相同,則會執行任意的延展或壓縮。
一般而言,如果 bitbltter 忙碌且無法設定 bitblt,Blt 會立即傳回錯誤。 指定DDBLT_WAIT旗標以要求同步 bitblt。 當您包含DDBLT_WAIT旗標時, Blt 會等到可以設定 bitblt,或先發生另一個錯誤,再傳回。
已定義 RECT 結構,讓右和下成員互斥,因此右減左等於矩形的寬度,而不是小於寬度 1。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | ddraw.h |
程式庫 | Ddraw.lib |
Dll | Ddraw.dll |