다음을 통해 공유


IWICProgressiveLevelControl::SetCurrentLevel 메서드(wincodec.h)

CopyPixels에 대한 다음 호출에서 검색할 수준을 지정합니다.

구문

HRESULT SetCurrentLevel(
  [in] UINT nLevel
);

매개 변수

[in] nLevel

형식: UINT

다음에 반환할 수준을 지정합니다. 지원되는 총 수준 수보다 크면 오류가 반환됩니다.

반환 값

형식: HRESULT

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

설명

호출이 지원되는 모든 수준을 요청할 필요는 없습니다. 호출자가 이전에 수준 0을 요청하지 않고 수준 1을 요청하는 경우 CopyPixels 에 대한 다음 호출에서 반환되는 비트에는 두 수준이 모두 포함됩니다.

요청된 수준이 유효하지 않으면 반환된 오류가 WINCODEC_ERR_INVALIDPROGRESSIVELEVEL.

예제

사용자는 GetCurrentLevel 메서드가 아닌 점진적 JPEG 이미지의 점진적 수준을 반복하려면 이 메서드를 사용해야 합니다. JPEG 점진적 수준은 이미지에 의해 결정되며 고정된 수준 수가 없습니다. GetCurrentLevel 메서드를 사용하면 애플리케이션이 반환되기 전에 모든 점진적 수준이 다운로드될 때까지 기다려야 합니다. 대신 애플리케이션은 다음 코드를 사용하여 점진적 JPEG 이미지의 점진적 수준을 반복해야 합니다.

IWICProgressiveLevelControl *pProgressive = NULL;

HRESULT hr = (pBitmapFrame->QueryInterface(
   IID_IWICProgressiveLevelControl, 
   (void**) &pProgressive));
                
if (SUCCEEDED(hr))
{
   for (UINT uCurrentLevel = 0; SUCCEEDED(hr); uCurrentLevel++)
   {
      hr = pProgressive->SetCurrentLevel(uCurrentLevel);
      if (WINCODEC_ERR_INVALIDPROGRESSIVELEVEL == hr)
      {
         // No more levels
         break;
      }

      if (SUCCEEDED(hr))
      {
         // Output the current level
         hr = pBitmapFrame->CopyPixels(...);
      }                      
   }
}

if (pProgressive)
{
   pProgressive->Release();
}	

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7, Windows Vista SP2 및 Windows Vista용 플랫폼 업데이트가 포함된 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2, Windows Server 2008 SP2 및 Windows Server 2008용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 wincodec.h
DLL Windowscodecs.dll

추가 정보

IWICProgressiveLevelControl

점진적 디코딩 개요