Fonction EngTransparentBlt (winddi.h)
La fonction EngTransparentBlt fournit des fonctionnalités de transfert de blocs de bits avec transparence.
Syntaxe
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
);
Paramètres
[in] psoDst
Pointeur vers la structure SURFOBJ qui identifie la surface cible sur laquelle dessiner.
[in] psoSrc
Pointeur vers la structure SURFOBJ qui identifie la surface source du transfert de bloc de bits.
[in, optional] pco
Pointeur vers une structure CLIPOBJ . Les routines de service CLIPOBJ_Xxx sont fournies pour énumérer la région de clip sous la forme d’un ensemble de rectangles. Cette énumération limite la zone de la destination modifiée. Dans la mesure du possible, GDI simplifie le découpage impliqué.
[in, optional] pxlo
Pointeur vers une structure XLATEOBJ qui indique comment les index de couleur source doivent être traduits pour l’écriture dans la surface cible.
[in] prclDst
Pointeur vers une structure RECTL qui définit la zone rectangulaire à modifier. Ce rectangle est spécifié dans le système de coordonnées de la surface de destination et est défini par deux points : en haut à gauche et en bas à droite. Le rectangle est exclusif en bas à droite ; autrement dit, ses bords inférieur et droit ne font pas partie du transfert de bloc de bits. Les deux points qui définissent le rectangle sont toujours bien ordonnés.
Le pilote ne doit jamais appeler EngTransparentBlt avec un rectangle de destination vide.
[in] prclSrc
Pointeur vers une structure RECTL qui définit la zone rectangulaire à copier. Ce rectangle est spécifié dans le système de coordonnées de la surface source et est défini par deux points : en haut à gauche et en bas à droite. Les deux points qui définissent le rectangle sont toujours bien ordonnés.
Le rectangle source ne dépassera jamais les limites de la surface source et ne dépassera donc jamais la surface source.
Ce rectangle est mappé au rectangle de destination défini par prclDst. Le pilote ne doit jamais appeler EngTransparentBlt avec un rectangle source vide.
[in] TransColor
Spécifie la couleur transparente physique, au format de la surface source. Il s’agit d’une valeur d’index de couleur qui a été traduite en palette de la surface source. Pour plus d’informations, consultez la section Remarques.
[in] bCalledFromBitBlt
Réservé. Ce paramètre doit être défini sur zéro.
Valeur retournée
EngTransparentBlt retourne TRUE en cas de réussite. Sinon, il retourne FALSE.
Remarques
Le pilote doit appeler EngTransparentBlt s’il a crocheté DrvTransparentBlt et qu’il est appelé à faire quelque chose qu’il ne prend pas en charge.
Le transfert de blocs de bits avec transparence est pris en charge entre deux surfaces gérées par l’appareil ou entre une surface gérée par l’appareil et une bitmap de format standard gérée par GDI. Actuellement, GDI prend uniquement en charge les surfaces sources BMF_4BPP et BMF_8BPP.
Les pixels de la surface source qui correspondent à la couleur transparente spécifiée par iTransparentColor ne sont pas copiés. Pour obtenir une explication détaillée des blts transparents, consultez Copie de bitmaps.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows 2000 et versions ultérieures des systèmes d’exploitation Windows. |
Plateforme cible | Universal |
En-tête | winddi.h (inclure Winddi.h) |
Bibliothèque | Win32k.lib |
DLL | Win32k.sys |