複製到 Surface (Direct3D 9)
使用 IDirect3DDevice9::UpdateSurface時,請在來源介面上傳遞矩形,或使用 Null 來指定整個表面。 您也會在來源影像上複製矩形左上方位置的目的地介面上傳遞點。 此方法不支援裁剪。 除非來源矩形和對應的目的地矩形分別包含在來源和目的地介面內,否則作業將會失敗。 此方法不支援 Alpha 混合、色彩索引鍵或格式轉換。 請注意,目的地和來源介面必須相異。
如需使用 UpdateSurface 時的其他限制,請參閱 IDirect3DDevice9::UpdateSurface。
C++/C 也提供下列方法,可將影像複製到 Direct3D 表面。
- D3DXLoadSurfaceFromFile
- D3DXLoadSurfaceFromFileInMemory
- D3DXLoadSurfaceFromMemory
- D3DXLoadSurfaceFromResource
- D3DXLoadSurfaceFromSurface
- IDirect3DDevice9::UpdateSurface
UpdateSurface 範例
下列範例會將兩個矩形從來源介面複製到目的地介面。 第一個矩形是從 (0 複製的, 0,50,50) 來源介面上的位置,而第二個矩形會從來源介面上的 (50、50、100、100、100) 複製到目的地介面上的 (150、150、200、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);
相關主題