StretchDIB, fonction (vfw.h)
La fonction StretchDIB copie une bitmap indépendante de l’appareil d’un emplacement mémoire vers un autre et redimensionne l’image pour qu’elle s’adapte au rectangle de destination.
Syntaxe
void StretchDIB(
LPBITMAPINFOHEADER biDst,
LPVOID lpDst,
int DstX,
int DstY,
int DstXE,
int DstYE,
LPBITMAPINFOHEADER biSrc,
LPVOID lpSrc,
int SrcX,
int SrcY,
int SrcXE,
int SrcYE
);
Paramètres
biDst
Pointeur vers une structure BITMAPINFOHEADER qui décrit la bitmap de destination.
lpDst
Pointeur vers la mémoire tampon qui recevra les bits de pixels copiés.
DstX
Coordonnée X de l’origine du rectangle de destination.
DstY
Coordonnée Y de l’origine du rectangle de destination.
DstXE
Largeur, en pixels, du rectangle de destination.
DstYE
Hauteur, en pixels, du rectangle de destination.
biSrc
Pointeur vers une structure BITMAPINFOHEADER qui décrit la bitmap source.
lpSrc
Pointeur vers les données bitmap sources.
SrcX
Coordonnée X de l’origine du rectangle source.
SrcY
Coordonnée Y de l’origine du rectangle source.
SrcXE
Largeur, en pixels, du rectangle source.
SrcYE
Hauteur, en pixels, du rectangle source.
Valeur de retour
None
Remarques
La taille de la mémoire tampon de destination doit être suffisamment grande pour prendre en charge les octets d’alignement à la fin de chaque ligne de pixels.
Cette fonction ne fait rien si biSrc et biDst ont des valeurs différentes pour biBitCount ou si la valeur de biSrc. biBitCount n’est pas égal à 8, 16 ou 24.
Cette fonction n’effectue aucun tramage ou autre lissage. Les valeurs de pixels sont simplement supprimées ou dupliquées ligne par ligne, colonne par colonne.
Cette fonction n’effectue aucun traitement spécial basé sur l’encodage de pixels, à l’exception du calcul du nombre de bits par pixel. En particulier, cette fonction ne génère pas de résultats corrects lorsque les pixels sont encodés dans des groupes de plus d’un pixel, comme dans le cas d’un format YUV où vous et V sont décimés et ne sont donc pas représentés de façon égale dans chaque pixel.
Avant d’inclure Vfw.h, vous devez ajouter la ligne suivante à votre code :
#define DRAWDIB_INCLUDE_STRETCHDIB
Configuration requise
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 | vfw.h |
Bibliothèque | Vfw32.lib |
DLL | Msvfw32.dll |