다음을 통해 공유


IWICDdsFrameDecode::CopyBlocks 메서드(wincodec.h)

기본적으로 DDS 파일 내에 저장되므로 픽셀 데이터를 요청합니다.

구문

HRESULT CopyBlocks(
  [in]  const WICRect *prcBoundsInBlocks,
  [in]  UINT          cbStride,
  [in]  UINT          cbBufferSize,
  [out] BYTE          *pbBuffer
);

매개 변수

[in] prcBoundsInBlocks

형식: const WICRect*

원본에서 복사할 사각형입니다. NULL 값은 전체 텍스처를 지정합니다.

텍스처가 블록 압축 DXGI_FORMAT 사용하는 경우 사각형의 모든 값은 픽셀이 아닌 블록 수로 표현됩니다.

[in] cbStride

형식: UINT

대상 버퍼의 stride(바이트)입니다. 이는 버퍼 포인터에서 다음 데이터 행까지의 바이트 수를 나타냅니다. 텍스처가 블록 압축 DXGI_FORMAT 사용하는 경우 "데이터 행"은 여러 픽셀 스캔라인이 포함된 블록 행으로 정의됩니다.

[in] cbBufferSize

형식: UINT

대상 버퍼의 크기(바이트)입니다.

[out] pbBuffer

형식: BYTE*

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

반환 값

형식: HRESULT

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

텍스처에서 블록 압축 DXGI_FORMAT 사용하지 않는 경우 이 메서드는 IWICBitmapSource::CopyPixels와 유사하게 동작합니다. 그러나 픽셀 형식 변환을 수행하지 않고 DDS 파일에서 원시 데이터를 생성합니다.

텍스처가 블록 압축 DXGI_FORMAT 사용하는 경우 이 메서드는 블록 데이터를 제공된 버퍼에 직접 복사합니다. 이 경우 prcBoundsInBlocks 매개 변수는 픽셀이 아닌 블록으로 정의됩니다. 이 경우를 확인하려면 GetFormatInfo를 호출하고 반환된 WICDdsFormatInfo 구조체의 DxgiFormat 멤버를 읽습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8.1 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2012 R2 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 wincodec.h
라이브러리 Windowscodecs.lib
DLL Windowscodecs.dll

추가 정보

IWICBitmapSource::CopyPixels

IWICDdsFrameDecode