Fungsi MaskBlt (wingdi.h)

Fungsi MaskBlt menggabungkan data warna untuk bitmap sumber dan tujuan menggunakan operasi mask dan raster yang ditentukan.

Sintaks

BOOL MaskBlt(
  [in] HDC     hdcDest,
  [in] int     xDest,
  [in] int     yDest,
  [in] int     width,
  [in] int     height,
  [in] HDC     hdcSrc,
  [in] int     xSrc,
  [in] int     ySrc,
  [in] HBITMAP hbmMask,
  [in] int     xMask,
  [in] int     yMask,
  [in] DWORD   rop
);

Parameter

[in] hdcDest

Handel ke konteks perangkat tujuan.

[in] xDest

Koordinat x, dalam unit logis, dari sudut kiri atas persegi panjang tujuan.

[in] yDest

Koordinat y, dalam unit logis, dari sudut kiri atas persegi panjang tujuan.

[in] width

Lebar, dalam unit logis, persegi panjang tujuan dan bitmap sumber.

[in] height

Tinggi, dalam unit logis, persegi panjang tujuan dan bitmap sumber.

[in] hdcSrc

Handel ke konteks perangkat tempat bitmap akan disalin. Ini harus nol jika parameter dwRop menentukan operasi raster yang tidak menyertakan sumber.

[in] xSrc

Koordinat x, dalam unit logis, dari sudut kiri atas bitmap sumber.

[in] ySrc

Koordinat y, dalam unit logis, dari sudut kiri atas bitmap sumber.

[in] hbmMask

Handel ke bitmap mask monokrom dikombinasikan dengan bitmap warna dalam konteks perangkat sumber.

[in] xMask

Offset piksel horizontal untuk bitmap mask yang ditentukan oleh parameter hbmMask .

[in] yMask

Offset piksel vertikal untuk bitmap mask yang ditentukan oleh parameter hbmMask .

[in] rop

Kode operasi raster terner latar depan dan latar belakang (ROP) yang digunakan fungsi untuk mengontrol kombinasi data sumber dan tujuan. Kode operasi raster latar belakang disimpan dalam byte urutan tinggi dari kata urutan tinggi dari nilai ini; kode operasi raster latar depan disimpan dalam byte urutan rendah dari kata urutan tinggi dari nilai ini; kata berurutan rendah dari nilai ini diabaikan, dan harus nol. Makro MAKEROP4 membuat kombinasi kode operasi raster latar depan dan latar belakang seperti itu.

Untuk diskusi latar depan dan latar belakang dalam konteks fungsi ini, lihat bagian Keterangan berikut.

Untuk daftar kode operasi raster umum (ROP), lihat fungsi BitBlt . Perhatikan bahwa CAPTUREBLT ROP umumnya tidak dapat digunakan untuk mencetak konteks perangkat.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol.

Keterangan

Fungsi MaskBlt menggunakan bitmap yang bergantung pada perangkat.

Nilai 1 dalam masker yang ditentukan oleh hbmMask menunjukkan bahwa kode operasi raster latar depan yang ditentukan oleh dwRop harus diterapkan di lokasi tersebut. Nilai 0 dalam masker menunjukkan bahwa kode operasi raster latar belakang yang ditentukan oleh dwRop harus diterapkan di lokasi tersebut.

Jika operasi raster memerlukan sumber, persegi panjang masker harus menutupi persegi panjang sumber. Jika tidak, fungsi akan gagal. Jika operasi raster tidak memerlukan sumber, persegi panjang masker harus menutupi persegi panjang tujuan. Jika tidak, fungsi akan gagal.

Jika transformasi rotasi atau shear berlaku untuk konteks perangkat sumber saat fungsi ini dipanggil, kesalahan terjadi. Namun, jenis transformasi lainnya diizinkan.

Jika format warna bitmap sumber, pola, dan tujuan berbeda, fungsi ini mengonversi format pola atau sumber, atau keduanya, agar sesuai dengan format tujuan.

Jika bitmap mask bukan bitmap monokrom, kesalahan terjadi.

Ketika metafile yang ditingkatkan sedang direkam, kesalahan terjadi (dan fungsi mengembalikan FALSE) jika konteks perangkat sumber mengidentifikasi konteks perangkat metafile yang disempurnakan.

Tidak semua perangkat mendukung fungsi MaskBlt . Aplikasi harus memanggil fungsi GetDeviceCaps dengan parameter nIndex sebagai RC_BITBLT untuk menentukan apakah perangkat mendukung fungsi ini.

Jika tidak ada bitmap mask yang disediakan, fungsi ini berperilaku persis seperti BitBlt, menggunakan kode operasi raster latar depan.

ICM: Tidak ada manajemen warna yang dilakukan ketika blits terjadi.

Ketika digunakan dalam sistem beberapa monitor, hdcSrc dan hdcDest harus merujuk ke perangkat yang sama atau fungsi akan gagal. Untuk mentransfer data antara DC untuk perangkat yang berbeda, konversikan bitmap memori (bitmap yang kompatibel, atau DDB) ke DIB dengan memanggil GetDIBits. Untuk menampilkan DIB ke perangkat kedua, panggil SetDIBits atau StretchDIBits.

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

Lihat juga

BitBlt

Fungsi Bitmap

Gambaran Umum Bitmap

GetDIBits

GetDeviceCaps

PlgBlt

SetDIBits

StretchBlt

StretchDIBits