Partager via


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