共用方式為


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*

頂點緩衝區的指標 (請參閱 IDirect3DVertexBuffer9) 包含矩形, (請參閱 D3DCOMPOSERECTDESC) ,以括住來源介面中所需的字元。

[in] NumRects

類型: UINT

作業中使用的矩形或圖像數目。 數位同時套用至來源和目的地表面。 範圍是 0 到 D3DCOMPOSERECTS_MAXNUMRECTS

[in] pDstRectDescs

類型: IDirect3DVertexBuffer9*

頂點緩衝區的指標 (請參閱 IDirect3DVertexBuffer9) 包含矩形 (請參閱 D3DCOMPOSERECTDESTINATION) ,其中描述將複製來源介面中指示字元的目標。

[in] Operation

類型: D3DCOMPOSERECTSOP

指定如何結合來源和目的地表面。 請參閱 D3DCOMPOSERECTSOP

[in] Xoffset

類型: INT

新增至所有目的地矩形 之 x 座標的值。 如果結果超出表面的範圍,這個值可能是負數,這可能會導致圖像遭到拒絕或裁剪。

[in] Yoffset

類型: INT

新增至所有目的地矩形 之 Y 座標的值。 如果結果超出表面的範圍,這個值可能是負數,這可能會導致圖像遭到拒絕或裁剪。

傳回值

類型: HRESULT

如果方法成功,傳回值會D3D_OK。

備註

來自一位來源表面的字元會與此方法一起放入另一個一位紋理表面。 然後,目的地介面可以做為一般文字調整作業的來源,以篩選及調整文字字串到其他非單色表面。

此方法有數個條件約束 (類似 StretchRect) :

  • 無法鎖定表面。
  • 來源和目的地表面不能是相同的表面。
  • 來源和目的地介面必須以 D3DFMT_A1 格式建立。
  • 來源介面和兩個頂點緩衝區都必須使用 D3DPOOL_DEFAULT 旗標來建立。
  • 目的地介面必須使用 D3DPOOL_DEFAULTD3DPOOL_SYSTEMMEM 旗標來建立。
  • 來源矩形必須位於來源介面內。
方法不會記錄在狀態欄塊中。

需求

   
目標平台 Windows
標頭 d3d9.h
程式庫 D3D9.lib

另請參閱

IDirect3DDevice9Ex