IWICProgressiveLevelControl::GetLevelCount 方法 (wincodec.h)

获取 CODEC 支持的渐进式解码级别数。

语法

HRESULT GetLevelCount(
  [out, retval] UINT *pcLevels
);

参数

[out, retval] pcLevels

类型: UINT*

指示 CODEC 支持的级别数。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

用户不应使用此函数来循环访问渐进式 JPEG 图像的渐进级别。 JPEG 渐进级别由映像确定,没有固定级别计数。 使用此方法将强制应用程序等待下载所有渐进级别后才能返回。 相反,应用程序应使用以下代码循环访问渐进式 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、带 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

渐进式解码概述