CDC::StretchBlt
Copie une image bitmap depuis un rectangle source vers un rectangle de destination, en étirant ou en compressant le bitmap si nécessaire pour l'adapter aux 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) de l'angle supérieur gauche du rectangle de destination.y
Spécifie la coordonnée y (en unités logiques) de l'angle 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) de l'angle supérieur gauche du rectangle source.ySrc
Spécifie la coordonnée y (en unités logiques) de l'angle 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 de rastérisation à effectuer. Le code d'une opération de rastérisation définit la façon dont GDI associe les couleurs dans les opérations de sortie qui impliquent le pinceau actuel, un éventuel bitmap source et un bitmap de destination. Ce paramètre peut avoir l'une des valeurs suivantes :BLACKNESS Active le noir pour toutes les sorties.
DSTINVERT Inverse le bitmap de destination.
MERGECOPY Associe le modèle et le bitmap source à l'aide de l'opérateur booléen AND.
MERGEPAINT Associe le bitmap source inversé et le bitmap de destination à l'aide de l'opérateur booléen OR.
NOTSRCCOPY Copie le bitmap source inversé vers la destination.
NOTSRCERASE Inverse le résultat de la combinaison du bitmap source et du bitmap de destination à l'aide de l'opérateur booléen OR.
PATCOPY Copie le modèle vers le bitmap de destination.
PATINVERT Associe le bitmap de destination au modèle à l'aide de l'opérateur booléen XOR.
PATPAINT Associe le bitmap source inversé et le le modèle à l'aide de l'opérateur booléen OR. Associe le résultat de cette opération au bitmap de destination à l'aide de l'opérateur booléen OR.
SRCAND Associe les pixels du bitmap destination et du bitmap source à l'aide de l'opérateur booléen AND.
SRCCOPY Copie le bitmap source vers le bitmap de destination.
SRCERASE Inverse le bitmap de destination et associe le résultat au bitmap source à l'aide de l'opérateur booléen AND.
SRCINVERT Associe les pixels du bitmap destination et du bitmap source à l'aide de l'opérateur booléen XOR.
SRCPAINT Associe les pixels du bitmap destination et du bitmap source à l'aide de l'opérateur booléen OR.
WHITENESS Active le blanc pour toutes les sorties.
Valeur de retour
Une valeur différente de zéro si le bitmap est dessiné ; sinon, 0.
Notes
La fonction utilise le mode d'étirement du contexte du périphérique de destination (défini par SetStretchBltMode) afin de savoir comment étirer ou compresser le bitmap.
La fonction StretchBlt déplace le bitmap depuis le périphérique source fourni par pSrcDC vers le périphérique de destination représenté par l'objet de contexte de périphérique dont la fonction membre est appelée. Les paramètres xSrc, ySrc, nSrcWidth et nSrcHeight définissent l'angle supérieur gauche et les dimensions du rectangle source. Les paramètres x, y, nWidth et nHeight définissent l'angle supérieur gauche et les dimensions du rectangle de destination. L'opération de rastérisation spécifiée par dwRop définit la manière dont sont associés le bitmap source et les bits qui se trouvent déjà dans le périphérique de destination.
La fonction StretchBlt crée une image miroir d'un bitmap si les signes des paramètres nSrcWidth et nWidth, ou nSrcHeight et nHeight sont différents. Si nSrcWidth et nWidth ont des signes différents, la fonction crée une image miroir du bitmap le long de l'axe des abscisses. Si nSrcHeight et nHeight ont des signes différents, la fonction crée une image miroir du bitmap le long de l'axe des ordonnées.
La fonction StretchBlt étire ou compresse le bitmap source en mémoire, puis copie le résultat vers la destination. Si un modèle doit être fusionné avec le résultat, il ne le sera pas tant que le bitmap source étiré n'est pas copié vers la destination. Si un pinceau est utilisé, il s'agira du pinceau sélectionné dans le contexte de périphérique de destination. 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 les bitmaps sources, les bitmaps de destination et les bitmaps de modèle n'ont pas le même format de couleur, StretchBlt convertit les bitmaps sources et les bitmaps de modèle pour qu'ils correspondent aux bitmaps de destination. Les couleurs de premier plan et d'arrière-plan du contexte du périphérique de destination sont utilisées dans la conversion.
Si StretchBlt doit convertir un bitmap monochrome en bitmap de couleur, il définit les bits blancs (1) sur la couleur d'arrière-plan et les bits noirs (0) sur la couleur de premier plan. Pour convertir la couleur en monochrome, il définit les pixels qui correspondent à la couleur d'arrière-plan sur blanc (1) et définit tous les autres pixels sur noir (0). Les couleurs de premier plan et d'arrière-plan du contexte du périphérique coloré sont utilisées.
La fonction StretchBlt n'est pas prise en charge par tous les périphériques. Pour déterminer si un périphérique prend en charge StretchBlt, appelez la fonction membre GetDeviceCaps avec l'index RASTERCAPS, puis vérifiez la valeur de retour de l'indicateur RC_STRETCHBLT.
Configuration requise
En-tête : afxwin.h