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 |