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 |