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 |