Condividi tramite


Funzione StretchDIB (vfw.h)

La funzione StretchDIB copia una bitmap indipendente dal dispositivo da una posizione di memoria a un'altra e ridimensiona l'immagine per adattare il rettangolo di destinazione.

Sintassi

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
);

Parametri

biDst

Puntatore a una struttura BITMAPINFOHEADER che descrive la bitmap di destinazione.

lpDst

Puntatore al buffer di memoria che riceverà i bit di pixel copiati.

DstX

Coordinata X dell'origine del rettangolo di destinazione.

DstY

Coordinata Y dell'origine del rettangolo di destinazione.

DstXE

Larghezza, in pixel, del rettangolo di destinazione.

DstYE

Altezza, in pixel, del rettangolo di destinazione.

biSrc

Puntatore a una struttura BITMAPINFOHEADER che descrive la bitmap di origine.

lpSrc

Puntatore ai dati bitmap di origine.

SrcX

Coordinata X dell'origine del rettangolo di origine.

SrcY

Coordinata Y dell'origine del rettangolo di origine.

SrcXE

Larghezza, in pixel, del rettangolo di origine.

SrcYE

Altezza, in pixel, del rettangolo di origine.

Valore restituito

nessuno

Osservazioni

Le dimensioni del buffer di destinazione devono essere sufficienti per contenere eventuali byte di allineamento alla fine di ogni riga pixel.

Questa funzione non fa nulla se biSrc e biDst hanno valori diversi per biBitCount o se il valore per biSrc. biBitCount non è uguale a 8, 16 o 24.

Questa funzione non esegue alcun dithering o altro smoothing. I valori pixel vengono semplicemente eliminati o duplicati in base a una riga, colonna per colonna.

Questa funzione non esegue alcuna elaborazione speciale in base alla codifica pixel, ad eccezione del calcolo del numero di bit per pixel. In particolare questa funzione non genererà risultati corretti quando i pixel vengono codificati in gruppi di più di 1 pixel, come nel caso di un formato YUV in cui si e V vengono decimati e quindi non sono rappresentati equamente in ogni pixel.

Prima di includere Vfw.h, è necessario aggiungere la riga seguente al codice:


#define DRAWDIB_INCLUDE_STRETCHDIB

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione vfw.h
Libreria Vfw32.lib
DLL Msvfw32.dll