Compartir a través de


Método CBaseControlVideo.CopyImage

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

Crea una copia de memoria de una imagen.

Sintaxis

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

Parámetros

pMediaSample

Puntero al ejemplo que contiene la imagen de vídeo.

pVideoInfo

Puntero al formato que representa la imagen de vídeo.

pBufferSize

Puntero al tamaño del búfer de salida.

pVideoImage

Puntero al búfer de salida.

pSourceRect

Puntero al rectángulo de vídeo de origen.

Valor devuelto

Si el parámetro pVideoImage es NULL, el parámetro pBufferSize se rellena con el número de bytes que requiere el búfer de salida para almacenar la imagen. Si el búfer pasado es demasiado pequeño o la función miembro no puede asignar memoria suficiente, la función miembro devuelve E_OUTOFMEMORY.

Observaciones

La función miembro recupera la imagen del ejemplo y la copia en el búfer de salida. La sección del vídeo copiado en el búfer de salida refleja el rectángulo de origen que se establece a través de la interfaz IBasicVideo (aunque no refleja el rectángulo de destino).

Requisitos

Requisito Value
Encabezado
Ctlutil.h (include Streams.h)
Biblioteca
Strmbase.lib (compilaciones comerciales);
Strmbasd.lib (compilaciones de depuración)

Consulte también

CBaseControlVideo (clase)