Freigeben über


StretchDIB-Funktion (vfw.h)

Die StretchDIB-Funktion kopiert eine geräteunabhängige Bitmap von einem Speicherort in einen anderen und ändert die Größe des Bilds an das Zielrechteck.

Syntax

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

Parameter

biDst

Zeiger auf eine BITMAPINFOHEADER-Struktur , die die Zielbit beschreibt.

lpDst

Zeiger auf den Speicherpuffer, der die kopierten Pixelbits empfängt.

DstX

X-Koordinate des Ursprungs des Zielrechtecks.

DstY

Y-Koordinate des Ursprungs des Zielrechtecks.

DstXE

Breite des Zielrechtecks in Pixel.

DstYE

Höhe des Zielrechtecks in Pixel.

biSrc

Zeiger auf eine BITMAPINFOHEADER-Struktur , die die Quellbit beschreibt.

lpSrc

Zeiger auf die Quell-Bitmapdaten.

SrcX

X-Koordinate des Ursprungs des Quellrechtecks.

SrcY

Y-Koordinate des Ursprungs des Quellrechtecks.

SrcXE

Breite des Quellrechtecks in Pixel.

SrcYE

Höhe des Quellrechtecks in Pixel.

Rückgabewert

Keine

Bemerkungen

Die Größe des Zielpuffers muss groß genug sein, um alle Ausrichtungsbytes am Ende jeder Pixelzeile aufzunehmen.

Diese Funktion führt nichts aus, wenn biSrc und biDst unterschiedliche Werte für biBitCount oder der Wert für biSrc haben. biBitCount ist nicht gleich 8, 16 oder 24.

Diese Funktion führt keine Dithering- oder andere Glättungsfunktionen durch. Pixelwerte werden nur zeilenweise, spaltenweise gelöscht oder dupliziert.

Diese Funktion führt keine spezielle Verarbeitung basierend auf der Pixelcodierung aus, mit Ausnahme der Berechnung der Anzahl der Bits pro Pixel. Insbesondere erzeugt diese Funktion keine richtigen Ergebnisse, wenn Pixel in Gruppen von mehr als 1 Pixel codiert werden, wie bei einem YUV-Format, bei dem Sie und V dezimiert sind und daher nicht in jedem Pixel gleich dargestellt werden.

Bevor Sie Vfw.h einschließen, müssen Sie dem Code die folgende Zeile hinzufügen:


#define DRAWDIB_INCLUDE_STRETCHDIB

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile vfw.h
Bibliothek Vfw32.lib
DLL Msvfw32.dll