Partager via


Fonction PlgBlt (wingdi.h)

La fonction PlgBlt effectue un transfert par bloc de bits des bits de données de couleur du rectangle spécifié dans le contexte de l’appareil source vers le paralléliogramme spécifié dans le contexte de l’appareil de destination. Si le handle de masque de bits donné identifie une image bitmap monochrome valide, la fonction utilise cette image bitmap pour masquer les bits de données de couleur du rectangle source.

Syntaxe

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
);

Paramètres

[in] hdcDest

Handle du contexte de l’appareil de destination.

[in] lpPoint

Pointeur vers un tableau de trois points dans l’espace logique qui identifie trois coins du paralléliogramme de destination. Le coin supérieur gauche du rectangle source est mappé au premier point de ce tableau, le coin supérieur droit au deuxième point de ce tableau et le coin inférieur gauche au troisième point. Le coin inférieur droit du rectangle source est mappé au quatrième point implicite du paralléliogramme.

[in] hdcSrc

Handle du contexte de l’appareil source.

[in] xSrc

Coordonnée x, en unités logiques, du coin supérieur gauche du rectangle source.

[in] ySrc

Coordonnée y, en unités logiques, du coin supérieur gauche du rectangle source.

[in] width

Largeur, en unités logiques, du rectangle source.

[in] height

Hauteur, en unités logiques, du rectangle source.

[in] hbmMask

Handle d’une bitmap monochrome facultative utilisée pour masquer les couleurs du rectangle source.

[in] xMask

Coordonnée x, en unités logiques, du coin supérieur gauche de l’image bitmap monochrome.

[in] yMask

Coordonnée y, en unités logiques, du coin supérieur gauche de l’image bitmap monochrome.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro.

Remarques

La fonction PlgBlt fonctionne avec les bitmaps dépendant de l’appareil.

Le quatrième sommet du paralléliogramme (D) est défini en traitant les trois premiers points (A, B et C ) comme vecteurs et en calculant D = B +CA.

Si le masque de bits existe, une valeur d’un dans le masque indique que la couleur du pixel source doit être copiée dans la destination. La valeur zéro dans le masque indique que la couleur du pixel de destination ne doit pas être modifiée. Si le rectangle de masque est plus petit que les rectangles source et de destination, la fonction réplique le modèle de masque.

Les transformations de mise à l’échelle, de traduction et de réflexion sont autorisées dans le contexte de l’appareil source ; toutefois, les transformations de rotation et de cisaillement ne le sont pas. Si la bitmap du masque n’est pas une bitmap monochrome, une erreur se produit. Le mode d’étirement pour le contexte de l’appareil de destination est utilisé pour déterminer comment étirer ou compresser les pixels, si nécessaire.

Lorsqu’un métafichier amélioré est enregistré, une erreur se produit si le contexte d’appareil source identifie un contexte d’appareil enhanced-metafile.

Les coordonnées de destination sont transformées en fonction du contexte du périphérique de destination ; les coordonnées sources sont transformées en fonction du contexte du périphérique source. Si la transformation source a une rotation ou un cisaillement, une erreur est retournée.

Si les rectangles de destination et source n’ont pas le même format de couleur, PlgBlt convertit le rectangle source pour qu’il corresponde au rectangle de destination.

Tous les appareils ne prennent pas en charge la fonction PlgBlt . Pour plus d’informations, consultez la description de la fonctionnalité raster RC_BITBLT dans la fonction GetDeviceCaps .

Si les contextes d’appareil source et de destination représentent des appareils incompatibles, PlgBlt retourne une erreur.

En cas d’utilisation dans un système à plusieurs moniteurs, hdcSrc et hdcDest doivent faire référence au même appareil, sinon la fonction échoue. Pour transférer des données entre des contrôleurs de domaine pour différents appareils, convertissez la bitmap de mémoire en DIB en appelant GetDIBits. Pour afficher la DIB sur le deuxième appareil, appelez SetDIBits ou StretchDIBits.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête wingdi.h (inclure Windows.h)
Bibliothèque Gdi32.lib
DLL Gdi32.dll

Voir aussi

BitBlt

Fonctions bitmap

Vue d’ensemble des bitmaps

GetDIBits

GetDeviceCaps

MaskBlt

SetDIBits

SetStretchBltMode

StretchBlt

StretchDIBits