共用方式為


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

另請參閱

IDirectDrawSurface7