Fungsi BitBlt (wingdi.h)
Fungsi BitBlt melakukan transfer blok bit dari data warna yang sesuai dengan persegi panjang piksel dari konteks perangkat sumber yang ditentukan ke dalam konteks perangkat tujuan.
Sintaks
BOOL BitBlt(
[in] HDC hdc,
[in] int x,
[in] int y,
[in] int cx,
[in] int cy,
[in] HDC hdcSrc,
[in] int x1,
[in] int y1,
[in] DWORD rop
);
Parameter
[in] hdc
Handel ke konteks perangkat tujuan.
[in] x
Koordinat x, dalam unit logis, dari sudut kiri atas persegi panjang tujuan.
[in] y
Koordinat y, dalam unit logis, dari sudut kiri atas persegi panjang tujuan.
[in] cx
Lebar, dalam unit logis, persegi panjang sumber dan tujuan.
[in] cy
Tinggi, dalam unit logis, dari sumber dan persegi panjang tujuan.
[in] hdcSrc
Handel ke konteks perangkat sumber.
[in] x1
Koordinat x, dalam unit logis, dari sudut kiri atas persegi panjang sumber.
[in] y1
Koordinat y, dalam unit logis, dari sudut kiri atas persegi panjang sumber.
[in] rop
Kode operasi raster. Kode-kode ini menentukan bagaimana data warna untuk persegi panjang sumber digabungkan dengan data warna untuk persegi panjang tujuan untuk mencapai warna akhir.
Daftar berikut menunjukkan beberapa kode operasi raster umum.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
BitBlt hanya melakukan kliping pada DC tujuan.
Jika transformasi rotasi atau shear berlaku dalam konteks perangkat sumber, BitBlt mengembalikan kesalahan. Jika transformasi lain ada dalam konteks perangkat sumber (dan transformasi yang cocok tidak berlaku dalam konteks perangkat tujuan), persegi panjang dalam konteks perangkat tujuan direntangkan, dikompresi, atau diputar, jika perlu.
Jika format warna konteks perangkat sumber dan tujuan tidak cocok, fungsi BitBlt mengonversi format warna sumber agar sesuai dengan format tujuan.
Ketika metafile yang ditingkatkan sedang direkam, kesalahan terjadi jika konteks perangkat sumber mengidentifikasi konteks perangkat metafile yang disempurnakan.
Tidak semua perangkat mendukung fungsi BitBlt . Untuk informasi selengkapnya, lihat entri kemampuan raster RC_BITBLT dalam fungsi GetDeviceCaps serta fungsi berikut: MaskBlt, PlgBlt, dan StretchBlt.
BitBlt mengembalikan kesalahan jika konteks perangkat sumber dan tujuan mewakili perangkat yang berbeda. Untuk mentransfer data antara DC untuk perangkat yang berbeda, konversikan bitmap memori ke DIB dengan memanggil GetDIBits. Untuk menampilkan DIB ke perangkat kedua, panggil SetDIBits atau StretchDIBits.
ICM: Tidak ada manajemen warna yang dilakukan ketika blits terjadi.
Contoh
Contoh kode berikut menunjukkan penggunaan BitBlt.
if (!BitBlt(hdcMemDC,
0, 0,
rcClient.right - rcClient.left, rcClient.bottom - rcClient.top,
hdcWindow,
0, 0,
SRCCOPY))
{
MessageBox(hWnd, L"BitBlt has failed", L"Failed", MB_OK);
goto done;
}
Untuk melihat contoh ini dalam konteks, lihat Menangkap Gambar.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | wingdi.h (sertakan Windows.h) |
Pustaka | Gdi32.lib |
DLL | Gdi32.dll |