サーフェスへのコピー (Direct3D 9)
IDirect3DDevice9::UpdateSurface を使用する場合は、ソースサーフェスに四角形を渡すか、NULL を使用してサーフェス全体を指定します。 また、ソース イメージ上の四角形の左上の位置がコピーされる宛先サーフェス上のポイントも渡します。 このメソッドはクリッピングをサポートしていません。 ソース四角形と対応する変換先の四角形がそれぞれソースサーフェスとターゲットサーフェス内に完全に含まれている場合を除き、操作は失敗します。 このメソッドでは、アルファ ブレンド、カラー キー、書式変換はサポートされていません。 変換先サーフェスとソース サーフェスは個別である必要があることに注意してください。
UpdateSurface を使用する場合のその他の制限については、「 IDirect3DDevice9::UpdateSurface」を参照してください。
次のメソッドは、イメージを Direct3D サーフェスにコピーするために C++/C でも使用できます。
- D3DXLoadSurfaceFromFile
- D3DXLoadSurfaceFromFileInMemory
- D3DXLoadSurfaceFromMemory
- D3DXLoadSurfaceFromResource
- D3DXLoadSurfaceFromSurface
- IDirect3DDevice9::UpdateSurface
UpdateSurface の例
次の使用例は、ソース サーフェスからコピー先サーフェスに 2 つの四角形をコピーします。 最初の四角形は、ソース サーフェス上の (0,0, 50, 50) からコピー先サーフェス上の同じ場所にコピーされ、2 番目の四角形はソース サーフェス上の (50, 50, 100, 100, 100) からコピー先サーフェス上の (150, 150, 200, 200) にコピーされます。
//The following assumptions are made:
// -d3dDevice is a valid Direct3DDevice9 object.
// -pSource and pDest are valid IDirect3DSurface9 pointers.
RECT rcSource[] = { 0, 0, 50, 50,
50, 50, 100, 100 };
POINT ptDest[] = { 0, 0, 150, 150 };
d3dDevice->UpdateSurface( pSource, rcSource, 2, pDest, ptDest);
関連トピック