Freigeben über


CBaseControlVideo.CopyImage-Methode

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Erstellt eine Speicherkopie eines Bilds.

Syntax

HRESULT CopyImage(
   IMediaSample    *pMediaSample,
   VIDEOINFOHEADER *pVideoInfo,
   LONG            *pBufferSize,
   BYTE            *pVideoImage,
   RECT            *pSourceRect
);

Parameter

pMediaSample

Zeiger auf das Beispiel, das das Videobild enthält.

pVideoInfo

Zeiger auf das Format, das das Videobild darstellt.

pBufferSize

Zeiger auf die Größe des Ausgabepuffers.

pVideoImage

Zeiger auf den Ausgabepuffer.

pSourceRect

Zeiger auf das Quellvideorechteck.

Rückgabewert

Wenn der pVideoImage-ParameterNULL ist, wird der pBufferSize-Parameter mit der Anzahl von Bytes ausgefüllt, die der Ausgabepuffer zum Speichern des Bilds benötigt. Wenn der übergebene Puffer zu klein ist oder die Memberfunktion nicht genügend Arbeitsspeicher zuweist, gibt die Memberfunktion E_OUTOFMEMORY zurück.

Bemerkungen

Die Memberfunktion ruft das Bild aus dem Beispiel ab und kopiert es in den Ausgabepuffer. Der Abschnitt des Videos, das in den Ausgabepuffer kopiert wird, spiegelt das Quellrechteck wider, das über die IBasicVideo-Schnittstelle festgelegt wird (obwohl es nicht das Zielrechteck widerspiegelt).

Anforderungen

Anforderung Wert
Header
Ctlutil.h (Streams.h einschließen)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CBaseControlVideo-Klasse