Partager via


CDC::StretchBlt

Copie une bitmap d'un rectangle source dans un rectangle de destination, d'étirement ou comprimant la bitmap si nécessaire en fonction de les dimensions du rectangle de destination.

BOOL StretchBlt(
   int x,
   int y,
   int nWidth,
   int nHeight,
   CDC* pSrcDC,
   int xSrc,
   int ySrc,
   int nSrcWidth,
   int nSrcHeight,
   DWORD dwRop 
);

Paramètres

  • x
    Spécifie la coordonnée x (en unités logiques) du coin supérieur gauche du rectangle de destination.

  • y
    Spécifie l'ordonnée (en unités logiques) du coin supérieur gauche du rectangle de destination.

  • nWidth
    Spécifie la largeur (en unités logiques) du rectangle de destination.

  • nHeight
    Spécifie la hauteur (en unités logiques) du rectangle de destination.

  • pSrcDC
    Spécifie le contexte du périphérique source.

  • xSrc
    Spécifie la coordonnée x (en unités logiques) du coin supérieur gauche du rectangle source.

  • ySrc
    Spécifie la coordonnée x (en unités logiques) du coin supérieur gauche du rectangle source.

  • nSrcWidth
    Spécifie la largeur (en unités logiques) du rectangle source.

  • nSrcHeight
    Spécifie la hauteur (en unités logiques) du rectangle source.

  • dwRop
    Spécifie l'opération raster à exécuter.Les opcodes raster définissent comment GDI combine les couleurs dans les opérations de sortie qui impliquent un pinceau actuel, un bitmap source possible, et une image bitmap de destination.Ce paramètre peut avoir l'une des valeurs suivantes :

    • BLACKNESS désactive tout le noir de sortie.

    • DSTINVERT inverse la bitmap de destination.

    • MERGECOPY combine le modèle et le bitmap source à l'aide de l'opérateur AND booléen.

    • MERGEPAINT combine le bitmap source inversé avec la bitmap de destination à l'aide de l'opérateur OR booléen.

    • NOTSRCCOPY copie le bitmap source inversé à la destination.

    • NOTSRCERASE inverse le résultat de la combinaison la destination et les bitmaps sources à l'aide de l'opérateur OR booléen.

    • PATCOPY copie le modèle à la bitmap de destination.

    • PATINVERT combine la bitmap de destination avec le modèle à l'aide de l'opérateur booléen de bits XOR.

    • PATPAINT combine le bitmap source inversé avec le modèle à l'aide de l'opérateur OR booléen.Combine le résultat de cette opération avec la bitmap de destination à l'aide de l'opérateur OR booléen.

    • SRCAND combine les pixels de la destination et des bitmaps sources à l'aide de l'opérateur AND booléen.

    • SRCCOPY copie le bitmap source à la bitmap de destination.

    • SRCERASE inverse la bitmap de destination et combine le résultat au bitmap source à l'aide de l'opérateur AND booléen.

    • SRCINVERT combine les pixels de la destination et des bitmaps sources à l'aide de l'opérateur booléen de bits XOR.

    • SRCPAINT combine les pixels de la destination et des bitmaps sources à l'aide de l'opérateur OR booléen.

    • WHITENESS désactive toutes les sorties blanche.

Valeur de retour

Une valeur différente de zéro si la bitmap est dessinée ; sinon 0.

Notes

La fonction utilise le mode d'étirement du contexte de périphérique de destination (a par SetStretchBltMode) pour déterminer comment étirer ou compresser la bitmap.

La fonction d' StretchBlt déplace la bitmap du périphérique source donné par pSrcDC au périphérique de destination représenté par l'objet contexte de périphérique dont la fonction membre est appelée.xSrc, ySrc, nSrcWidth, et d' nSrcHeight définissent le coin supérieur gauche et les dimensions du rectangle source.Le x, y, l' nWidth, et d' nHeight fournissent le coin supérieur gauche et les dimensions du rectangle de destination.L'opération raster spécifiée par le dwRop définit comment le bitmap source et les bits déjà sur le périphérique de destination sont combinés.

La fonction d' StretchBlt crée une image miroir d'une bitmap si les signes d' nSrcWidth et nWidth ou nSrcHeight et des paramètres d' nHeight diffèrent.Si nSrcWidth et nWidth ont des signes, la fonction crée une image miroir de la bitmap le long de l'axe x.Si nSrcHeight et nHeight ont des signes, la fonction crée une image miroir de la bitmap le long de l'axe Y.

La fonction d' StretchBlt étire ou compresse le bitmap source dans la mémoire puis copie le résultat vers la destination.Si un modèle doit être fusionné avec le résultat, il n'est pas fusionné jusqu'à ce que le bitmap source étiré est copié vers la destination.Si un pinceau est utilisé, il s'agit du pinceau sélectionné dans le contexte de périphérique de destination.Les coordonnées de destination sont transformées en fonction de le contexte de périphérique de destination ; les coordonnées de source sont transformées en fonction de le contexte du périphérique source.

Si la destination, la source, et les bitmaps de modèle n'ont pas le même format de couleur, StretchBlt convertit les bitmaps de source et de modèle pour trouver les bitmaps de destination.Les couleurs de premier plan et d'arrière-plan du contexte de périphérique de destination sont utilisés lors de la conversion.

Si StretchBlt doit convertir une bitmap monochrome couleurs pour, elle définit les bits blancs (1) aux bits de couleur d'arrière-plan et noire (0) à la couleur de premier plan.Pour convertir la couleur au noir, il définit les pixels qui correspondent à la couleur d'arrière-plan au blanc (1) et affecte tous les pixels en noir (0).Les couleurs de premier plan et d'arrière-plan du contexte de périphérique avec la couleur sont utilisés.

Tous les appareils prennent en charge la fonction d' StretchBlt .Pour déterminer si l'application le prend en charge des appareils StretchBlt, appelez la fonction membre d' GetDeviceCaps de l'index de RASTERCAPS et examinent la valeur de retour pour rechercher la balise de RC_STRETCHBLT .

Configuration requise

Header: afxwin.h

Voir aussi

Référence

CDC, classe

Graphique de la hiérarchie

CDC::BitBlt

CDC::GetDeviceCaps

CDC::SetStretchBltMode

StretchBlt