Partager via


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

Voir aussi

DrvBitBlt

DrvPlgBlt

DrvStretchBlt

DrvStretchBltROP

DrvTransparentBlt

EngBitBlt

EngPlgBlt

EngStretchBlt

EngStretchBltROP