Menyalin ke Permukaan (Direct3D 9)
Saat menggunakan IDirect3DDevice9::UpdateSurface, lewati persegi panjang pada permukaan sumber, atau gunakan NULL untuk menentukan seluruh permukaan. Anda juga meneruskan titik pada permukaan tujuan tempat posisi kiri atas persegi panjang pada gambar sumber disalin. Metode ini tidak mendukung kliping. Operasi akan gagal kecuali persegi panjang sumber dan persegi panjang tujuan yang sesuai sepenuhnya terkandung dalam permukaan sumber dan tujuan masing-masing. Metode ini tidak mendukung penpaduan alfa, kunci warna, atau konversi format. Perhatikan bahwa permukaan tujuan dan sumber harus berbeda.
Untuk pembatasan lain saat menggunakan UpdateSurface, lihat IDirect3DDevice9::UpdateSurface.
Metode berikut juga tersedia di C++/C untuk menyalin gambar ke permukaan Direct3D.
- D3DXLoadSurfaceFromFile
- D3DXLoadSurfaceFromFileInMemory
- D3DXLoadSurfaceFromMemory
- D3DXLoadSurfaceFromResource
- D3DXLoadSurfaceFromSurface
- IDirect3DDevice9::UpdateSurface
Contoh UpdateSurface
Contoh berikut menyalin dua persegi panjang dari permukaan sumber ke permukaan tujuan. Persegi panjang pertama disalin dari (0, 0, 50, 50) pada permukaan sumber ke lokasi yang sama pada permukaan tujuan, dan persegi panjang kedua disalin dari (50, 50, 100, 100) pada permukaan sumber ke (150, 150, 200, 200) pada permukaan tujuan.
//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);
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk