Partager via


CDC::BitBlt

Copie une bitmap du contexte de périphérique source à ce contexte actuel de l'appareil.

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

Paramètres

  • x
    Spécifie la coordonnée x logique du coin supérieur gauche du rectangle de destination.

  • y
    Spécifie l'ordonnée logique du coin supérieur gauche du rectangle de destination.

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

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

  • pSrcDC
    Pointeur vers un objet d' CDC qui identifie le contexte de périphérique dont la bitmap est copiée. Ce doit être NULL si le dwRop spécifie une opération raster qui n'inclut pas une source.

  • xSrc
    Spécifie la coordonnée x logique de l'angle supérieur gauche de bitmap source.

  • ySrc
    Spécifie l'ordonnée logique de l'angle supérieur gauche de bitmap source.

  • dwRop
    Spécifie l'opération raster à exécuter. Les codes d'opération 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. Consultez BitBlt dans Kit de développement logiciel Windows pour une liste des codes d'opération pour le dwRop et leurs descriptions

Pour une liste complète des codes d'opération, consultez Sur les codes d'opération raster dans Kit de développement logiciel Windows.

Valeur de retour

Une valeur différente de zéro si la fonction est réussie ; sinon 0.

Notes

L'application peut aligner les fenêtres ou les zones client dans les limites d'octets pour garantir que les opérations d' BitBlt se produisent sur des rectangles octet- alignés. (Affectez les balises de CS_BYTEALIGNWINDOW ou de CS_BYTEALIGNCLIENT lorsque vous enregistrez les classes de fenêtres.)

Les opérations d'BitBlt sur les rectangles octet- alignés sont beaucoup plus rapides que les opérations d' BitBlt sur les rectangles qui ne sont pas octet aligné. Si vous souhaitez spécifier des styles de classe tels que l'alignement des octets pour votre propre contexte de périphérique, vous devez enregistrer une classe windows plutôt que de vous en remettre les classes MFC (Microsoft Foundation pour le faire pour vous. Utilisez la fonction globale AfxRegisterWndClass.

GDI transforme nWidth et nHeight, une fois en utilisant le contexte de périphérique de destination, et une fois en utilisant le contexte du périphérique source. Si les ampleurs résultante ne correspondent pas, GDI utilise la fonction d' StretchBlt windows pour compresser ou étirer le bitmap source selon vos besoins.

Si la destination, la source, et les bitmaps de modèle n'ont pas le même format de couleur, la fonction d' BitBlt convertit les bitmaps de source et de modèle pour correspondre à la destination. Les couleurs de premier plan et d'arrière-plan de la bitmap de destination sont utilisés lors de la conversion.

Lorsque la fonction d' BitBlt convertit 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. Les couleurs de premier plan et d'arrière-plan du contexte de périphérique de destination sont utilisés. Pour convertir la couleur au noir, pixels de jeux d' BitBlt qui correspondent à la couleur d'arrière-plan au blanc et aux ensembles tous les pixels en noir. BitBlt utilise les couleurs de premier plan et d'arrière-plan du contexte de périphérique de couleur pour convertir de la couleur au noir et blanc.

Notez que tous les contextes de périphérique prennent en charge BitBlt. Pour vérifier si un contexte donné de périphérique prend en charge BitBlt, utilisez la fonction membre d' GetDeviceCaps et spécifiez l'index de RASTERCAPS .

Exemple

Consultez l'exemple pour CDC::CreateCompatibleDC.

Configuration requise

Header: afxwin.h

Voir aussi

Référence

CDC, classe

Graphique de la hiérarchie

CDC::GetDeviceCaps

CDC::PatBlt

CDC::SetTextColor

CDC::StretchBlt

StretchDIBits

BitBlt