다음을 통해 공유


CBaseControlVideo.CopyImage 메서드

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

이미지의 메모리 복사본을 만듭니다.

구문

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

매개 변수

pMediaSample

비디오 이미지가 포함된 샘플에 대한 포인터입니다.

pVideoInfo

비디오 이미지를 나타내는 형식에 대한 포인터입니다.

pBufferSize

출력 버퍼의 크기에 대한 포인터입니다.

pVideoImage

출력 버퍼에 대한 포인터입니다.

pSourceRect

원본 비디오 사각형에 대한 포인터입니다.

반환 값

pVideoImage 매개 변수가 NULL인 경우 pBufferSize 매개 변수는 출력 버퍼가 이미지를 저장하는 데 필요한 바이트 수로 채워집니다. 전달된 버퍼가 너무 작거나 멤버 함수가 충분한 메모리를 할당하지 못하면 멤버 함수는 E_OUTOFMEMORY 반환합니다.

설명

멤버 함수는 샘플에서 이미지를 검색하고 출력 버퍼에 복사합니다. 출력 버퍼에 복사된 비디오의 섹션은 IBasicVideo 인터페이스를 통해 설정된 원본 사각형을 반영합니다(대상 사각형을 반영하지는 않음).

요구 사항

요구 사항
헤더
Ctlutil.h(Streams.h 포함)
라이브러리
Strmbase.lib(소매 빌드);
Strmbasd.lib(디버그 빌드)

추가 정보

CBaseControlVideo 클래스