Bagikan melalui


Fungsi EngTransparentBlt (winddi.h)

Fungsi EngTransparentBlt menyediakan kemampuan transfer blok bit dengan transparansi.

Sintaks

ENGAPI BOOL EngTransparentBlt(
  [in]           SURFOBJ  *psoDst,
  [in]           SURFOBJ  *psoSrc,
  [in, optional] CLIPOBJ  *pco,
  [in, optional] XLATEOBJ *pxlo,
  [in]           RECTL    *prclDst,
  [in]           RECTL    *prclSrc,
  [in]           ULONG    TransColor,
  [in]           ULONG    bCalledFromBitBlt
);

Parameter

[in] psoDst

Arahkan ke struktur SURFOBJ yang mengidentifikasi permukaan target yang akan digambar.

[in] psoSrc

Arahkan ke struktur SURFOBJ yang mengidentifikasi permukaan sumber transfer blok bit.

[in, optional] pco

Penunjuk ke struktur CLIPOBJ . Rutinitas layanan CLIPOBJ_Xxx disediakan untuk menghitung wilayah klip sebagai satu set persegi panjang. Enumerasi ini membatasi area tujuan yang dimodifikasi. Jika memungkinkan, GDI menyederhanakan kliping yang terlibat.

[in, optional] pxlo

Penunjuk ke struktur XLATEOBJ yang memberi tahu bagaimana indeks warna sumber harus diterjemahkan untuk ditulis ke permukaan target.

[in] prclDst

Penunjuk ke struktur RECTL yang menentukan area persegi panjang yang akan dimodifikasi. Persegi panjang ini ditentukan dalam sistem koordinat permukaan tujuan dan didefinisikan oleh dua titik: kiri atas dan kanan bawah. Persegi panjang eksklusif kanan bawah; artinya, tepi bawah dan kanannya bukan bagian dari transfer blok bit. Dua titik yang menentukan persegi panjang selalu diurutkan dengan baik.

Driver tidak boleh memanggil EngTransparentBlt dengan persegi panjang tujuan kosong.

[in] prclSrc

Penunjuk ke struktur RECTL yang menentukan area persegi panjang yang akan disalin. Persegi panjang ini ditentukan dalam sistem koordinat permukaan sumber dan didefinisikan oleh dua titik: kiri atas dan kanan bawah. Dua titik yang menentukan persegi panjang selalu diurutkan dengan baik.

Persegi panjang sumber tidak akan pernah melebihi batas permukaan sumber, sehingga tidak akan pernah menimpa permukaan sumber.

Persegi panjang ini dipetakan ke persegi tujuan yang ditentukan oleh prclDst. Driver tidak boleh memanggil EngTransparentBlt dengan persegi panjang sumber kosong.

[in] TransColor

Menentukan warna transparan fisik, dalam format permukaan sumber. Ini adalah nilai indeks warna yang telah diterjemahkan ke palet permukaan sumber. Untuk informasi selengkapnya, lihat bagian Keterangan.

[in] bCalledFromBitBlt

Dicadangkan. Parameter ini harus diatur ke nol.

Nilai kembali

EngTransparentBlt mengembalikan TRUE setelah berhasil. Jika tidak, ia mengembalikan FALSE.

Keterangan

Driver harus memanggil EngTransparentBlt jika telah menghubungkan DrvTransparentBlt dan dipanggil untuk melakukan sesuatu yang tidak didukungnya.

Transfer blok bit dengan transparansi didukung antara dua permukaan yang dikelola perangkat atau antara permukaan yang dikelola perangkat dan bitmap format standar yang dikelola GDI. Saat ini, GDI hanya mendukung permukaan sumber BMF_4BPP dan BMF_8BPP.

Piksel pada permukaan sumber yang cocok dengan warna transparan yang ditentukan oleh iTransparentColor tidak disalin . Untuk penjelasan terperinci tentang blt transparan, lihat Menyalin Bitmap.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Windows 2000 dan versi yang lebih baru dari sistem operasi Windows.
Target Platform Universal
Header winddi.h (termasuk Winddi.h)
Pustaka Win32k.lib
DLL Win32k.sys

Lihat juga

DrvBitBlt

DrvPlgBlt

DrvStretchBlt

DrvStretchBltROP

DrvTransparentBlt

EngBitBlt

EngPlgBlt

EngStretchBlt

EngStretchBltROP