IDirect3DDevice9Ex::ComposeRects 方法 (d3d9.h)
使用另一個表面的字元字母,將文字字串複製到一個表面。 組合是由 GPU 使用位運算來完成。
語法
HRESULT ComposeRects(
[in] IDirect3DSurface9 *pSrc,
[in] IDirect3DSurface9 *pDst,
[in] IDirect3DVertexBuffer9 *pSrcRectDescs,
[in] UINT NumRects,
[in] IDirect3DVertexBuffer9 *pDstRectDescs,
[in] D3DCOMPOSERECTSOP Operation,
[in] int Xoffset,
[in] int Yoffset
);
參數
[in] pSrc
類型: IDirect3DSurface9*
IDirect3DSurface9) (提供字母字元的來源介面指標。 您必須使用 D3DUSAGE_TEXTAPI 旗標來建立此表面。
[in] pDst
類型: IDirect3DSurface9*
接收圖像資料的 IDirect3DSurface9) 所準備之目的地介面的指標 (。 表面必須是紋理的一部分。
[in] pSrcRectDescs
頂點緩衝區的指標 (請參閱 IDirect3DVertexBuffer9) 包含矩形, (請參閱 D3DCOMPOSERECTDESC) ,以括住來源介面中所需的字元。
[in] NumRects
類型: UINT
作業中使用的矩形或圖像數目。 數位同時套用至來源和目的地表面。 範圍是 0 到 D3DCOMPOSERECTS_MAXNUMRECTS。
[in] pDstRectDescs
頂點緩衝區的指標 (請參閱 IDirect3DVertexBuffer9) 包含矩形 (請參閱 D3DCOMPOSERECTDESTINATION) ,其中描述將複製來源介面中指示字元的目標。
[in] Operation
指定如何結合來源和目的地表面。 請參閱 D3DCOMPOSERECTSOP。
[in] Xoffset
類型: INT
新增至所有目的地矩形 之 x 座標的值。 如果結果超出表面的範圍,這個值可能是負數,這可能會導致圖像遭到拒絕或裁剪。
[in] Yoffset
類型: INT
新增至所有目的地矩形 之 Y 座標的值。 如果結果超出表面的範圍,這個值可能是負數,這可能會導致圖像遭到拒絕或裁剪。
傳回值
類型: HRESULT
如果方法成功,傳回值會D3D_OK。
備註
來自一位來源表面的字元會與此方法一起放入另一個一位紋理表面。 然後,目的地介面可以做為一般文字調整作業的來源,以篩選及調整文字字串到其他非單色表面。
此方法有數個條件約束 (類似 StretchRect) :
- 無法鎖定表面。
- 來源和目的地表面不能是相同的表面。
- 來源和目的地介面必須以 D3DFMT_A1 格式建立。
- 來源介面和兩個頂點緩衝區都必須使用 D3DPOOL_DEFAULT 旗標來建立。
- 目的地介面必須使用 D3DPOOL_DEFAULT 或 D3DPOOL_SYSTEMMEM 旗標來建立。
- 來源矩形必須位於來源介面內。
需求
目標平台 | Windows |
標頭 | d3d9.h |
程式庫 | D3D9.lib |