Bagikan melalui


Metode IDirectDrawSurface7::Blt (ddraw.h)

Melakukan transfer blok bit (bitblt). Metode ini tidak mendukung z-buffering atau alpha blending selama operasi bitblt.

Sintaks

HRESULT Blt(
  [in] LPRECT               unnamedParam1,
  [in] LPDIRECTDRAWSURFACE7 unnamedParam2,
  [in] LPRECT               unnamedParam3,
  [in] DWORD                unnamedParam4,
  [in] LPDDBLTFX            unnamedParam5
);

Parameter

[in] unnamedParam1

Penunjuk ke struktur RECT yang mendefinisikan titik kiri atas dan kanan bawah persegi panjang ke bitblt ke pada permukaan tujuan. Jika parameter ini NULL, seluruh permukaan tujuan digunakan.

[in] unnamedParam2

Penunjuk ke antarmuka IDirectDrawSurface7 untuk objek DirectDrawSurface yang merupakan sumber bitblt.

[in] unnamedParam3

Penunjuk ke struktur RECT yang mendefinisikan titik kiri atas dan kanan bawah persegi panjang ke bitblt dari pada permukaan sumber. Jika parameter ini NULL, seluruh permukaan sumber akan digunakan.

[in] unnamedParam4

Kombinasi bendera yang menentukan anggota yang valid dari struktur DDBLTFX terkait, menentukan informasi kunci warna, atau meminta perilaku khusus dari metode . Bendera berikut didefinisikan:

Bendera validasi

DDBLT_COLORFILL

Menggunakan anggota dwFillColor dari struktur DDBLTFX sebagai warna RGB yang mengisi persegi panjang tujuan pada permukaan tujuan.

DDBLT_DDFX

Menggunakan anggota dwDDFX dari struktur DDBLTFX untuk menentukan efek yang akan digunakan untuk bitblt ini.

DDBLT_DDROPS

Menggunakan anggota dwDDROP dari struktur DDBLTFX untuk menentukan operasi raster (ROPS) yang bukan bagian dari API Win32.

DDBLT_DEPTHFILL

Menggunakan anggota dwFillDepth dari struktur DDBLTFX sebagai nilai kedalaman untuk mengisi persegi tujuan pada permukaan z-buffer tujuan.

DDBLT_KEYDESTOVERRIDE

Menggunakan anggota ddckDestColorkey dari struktur DDBLTFX sebagai kunci warna untuk permukaan tujuan.

DDBLT_KEYSRCOVERRIDE

Menggunakan anggota ddckSrcColorkey dari struktur DDBLTFX sebagai kunci warna untuk permukaan sumber.

DDBLT_ROP

Menggunakan anggota dwROP dari struktur DDBLTFX untuk ROP untuk bitblt ini. ROP ini sama dengan yang didefinisikan dalam API Win32.

DDBLT_ROTATIONANGLE

Menggunakan anggota dwRotationAngle dari struktur DDBLTFX sebagai sudut rotasi (ditentukan dalam 1/100s derajat) untuk permukaan.

Bendera kunci warna

DDBLT_KEYDEST

Menggunakan kunci warna yang terkait dengan permukaan tujuan.

DDBLT_KEYSRC

Menggunakan kunci warna yang terkait dengan permukaan sumber.

Bendera perilaku

DDBLT_ASYNC

Melakukan bitblt ini secara asinkron melalui perangkat keras first in, first out (FIFO) dalam urutan yang diterima. Jika tidak ada ruang yang tersedia di perangkat keras FIFO, panggilan gagal.

DDBLT_DONOTWAIT

Mengembalikan tanpa bitbltting dan juga mengembalikan DDERR_WASSTILLDRAWING jika bitbltter sibuk.

DDBLT_WAIT

Menunda nilai pengembalian DDERR_WASSTILLDRAWING jika bitbltter sibuk, dan kembali segera setelah bitblt dapat disiapkan atau kesalahan lain terjadi.

Bendera usang dan tidak didukung

Semua nilai bendera DDBLT_ALPHA

Saat ini tidak diimplementasikan.

Semua nilai bendera DDBLT_ZBUFFER

Metode ini saat ini tidak mendukung operasi bitblt yang sadar z. Tidak ada bendera yang dimulai dengan "DDBLT_ZBUFFER" yang didukung.

[in] unnamedParam5

Penunjuk ke struktur DDBLTFX untuk bitblt.

Mengembalikan nilai

Jika metode berhasil, nilai yang dikembalikan adalah DD_OK.

Jika gagal, metode dapat mengembalikan salah satu nilai kesalahan berikut:

  • DDERR_GENERIC
  • DDERR_INVALIDCLIPLIST
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_INVALIDRECT
  • DDERR_NOALPHAHW
  • DDERR_NOBLTHW
  • DDERR_NOCLIPLIST
  • DDERR_NODDROPSHW
  • DDERR_NOMIRRORHW
  • DDERR_NORASTEROPHW
  • DDERR_NOROTATIONHW
  • DDERR_NOSTRETCHHW
  • DDERR_NOZBUFFERHW
  • DDERR_SURFACEBUSY
  • DDERR_SURFACELOST
  • DDERR_UNSUPPORTED
  • DDERR_WASSTILLDRAWING

Keterangan

Blt dapat melakukan bitblt sinkron atau asinkron (yang terakhir adalah perilaku default). Bitblts ini dapat terjadi dari memori tampilan hingga memori tampilan, dari memori tampilan hingga memori sistem, dari memori sistem hingga memori tampilan, atau dari memori sistem ke memori sistem. Bitblts dapat dilakukan dengan menggunakan tombol warna sumber dan tombol warna tujuan. Peregangan atau penyusutan arbitrer dilakukan jika persegi panjang sumber dan tujuan tidak berukuran sama.

Biasanya, Blt segera kembali dengan kesalahan jika bitbltter sibuk dan bitblt tidak dapat diatur. Tentukan bendera DDBLT_WAIT untuk meminta bitblt sinkron. Saat Anda menyertakan bendera DDBLT_WAIT, Blt menunggu hingga bitblt dapat disiapkan atau kesalahan lain terjadi sebelum kembali.

Struktur RECT didefinisikan sehingga anggota kanan dan bawah eksklusif—oleh karena itu, kanan dikurangi kiri sama dengan lebar persegi panjang, bukan 1 kurang dari lebar.

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header ddraw.h
Pustaka Ddraw.lib
DLL Ddraw.dll

Lihat juga

IDirectDrawSurface7