Fungsi PlgBlt (wingdi.h)
Fungsi PlgBlt melakukan transfer blok bit dari bit data warna dari persegi panjang yang ditentukan dalam konteks perangkat sumber ke parallelogram yang ditentukan dalam konteks perangkat tujuan. Jika handel bitmask yang diberikan mengidentifikasi bitmap monokrom yang valid, fungsi ini menggunakan bitmap ini untuk menutupi bit data warna dari persegi panjang sumber.
Sintaks
BOOL PlgBlt(
[in] HDC hdcDest,
[in] const POINT *lpPoint,
[in] HDC hdcSrc,
[in] int xSrc,
[in] int ySrc,
[in] int width,
[in] int height,
[in] HBITMAP hbmMask,
[in] int xMask,
[in] int yMask
);
Parameter
[in] hdcDest
Handel ke konteks perangkat tujuan.
[in] lpPoint
Penunjuk ke array tiga titik di ruang logis yang mengidentifikasi tiga sudut parallelogram tujuan. Sudut kiri atas persegi panjang sumber dipetakan ke titik pertama dalam array ini, sudut kanan atas ke titik kedua dalam array ini, dan sudut kiri bawah ke titik ketiga. Sudut kanan bawah persegi panjang sumber dipetakan ke titik keempat implisit dalam parallelogram.
[in] hdcSrc
Handel ke konteks perangkat sumber.
[in] xSrc
Koordinat x, dalam unit logis, dari sudut kiri atas persegi panjang sumber.
[in] ySrc
Koordinat y, dalam unit logis, dari sudut kiri atas persegi panjang sumber.
[in] width
Lebar, dalam unit logis, dari persegi panjang sumber.
[in] height
Tinggi, dalam unit logis, dari persegi panjang sumber.
[in] hbmMask
Handel ke bitmap monokrom opsional yang digunakan untuk menutupi warna persegi panjang sumber.
[in] xMask
Koordinat x, dalam unit logis, dari sudut kiri atas bitmap monokrom.
[in] yMask
Koordinat y, dalam unit logis, dari sudut kiri atas bitmap monokrom.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol.
Keterangan
Fungsi PlgBlt berfungsi dengan bitmap yang bergantung pada perangkat.
Puncak keempat parallelogram (D) didefinisikan dengan memperlakukan tiga titik pertama (A, B, dan C ) sebagai vektor dan komputasi D = B +CA.
Jika bitmask ada, nilai satu di masker menunjukkan bahwa warna piksel sumber harus disalin ke tujuan. Nilai nol dalam masker menunjukkan bahwa warna piksel tujuan tidak akan diubah. Jika persegi panjang masker lebih kecil dari persegi panjang sumber dan tujuan, fungsi mereplikasi pola masker.
Transformasi penskalaan, terjemahan, dan pantulan diizinkan dalam konteks perangkat sumber; namun, transformasi rotasi dan shear tidak. Jika bitmap mask bukan bitmap monokrom, kesalahan terjadi. Mode peregangan untuk konteks perangkat tujuan digunakan untuk menentukan cara meregangkan atau memadatkan piksel, jika diperlukan.
Ketika metafile yang ditingkatkan sedang direkam, kesalahan terjadi jika konteks perangkat sumber mengidentifikasi konteks perangkat metafile yang disempurnakan.
Koordinat tujuan diubah sesuai dengan konteks perangkat tujuan; koordinat sumber diubah sesuai dengan konteks perangkat sumber. Jika transformasi sumber memiliki rotasi atau shear, kesalahan akan dikembalikan.
Jika persegi panjang tujuan dan sumber tidak memiliki format warna yang sama, PlgBlt mengonversi persegi panjang sumber agar sesuai dengan persegi tujuan.
Tidak semua perangkat mendukung fungsi PlgBlt . Untuk informasi selengkapnya, lihat deskripsi kemampuan RC_BITBLT raster dalam fungsi GetDeviceCaps .
Jika konteks perangkat sumber dan tujuan mewakili perangkat yang tidak kompatibel, PlgBlt mengembalikan kesalahan.
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 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 |