Compartilhar via


Método IWICProgressiveLevelControl::SetCurrentLevel (wincodec.h)

Especifica o nível a ser recuperado na próxima chamada para CopyPixels.

Sintaxe

HRESULT SetCurrentLevel(
  [in] UINT nLevel
);

Parâmetros

[in] nLevel

Tipo: UINT

Especifica qual nível retornar a seguir. Se for maior que o número total de níveis com suporte, um erro será retornado.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Uma chamada não precisa solicitar todos os níveis com suporte. Se um chamador solicitar o nível 1, sem ter solicitado anteriormente o nível 0, os bits retornados pela próxima chamada para CopyPixels incluirão ambos os níveis.

Se o nível solicitado for inválido, o erro retornado será WINCODEC_ERR_INVALIDPROGRESSIVELEVEL.

Exemplos

Os usuários devem usar esse método para iterar por meio dos níveis progressivos de uma imagem JPEG progressiva em vez do método GetCurrentLevel . Os níveis progressivos do JPEG são determinados pela imagem e não têm uma contagem de nível fixa. O uso do método GetCurrentLevel forçará o aplicativo a aguardar que todos os níveis progressivos sejam baixados antes que ele possa retornar. Em vez disso, os aplicativos devem usar o código a seguir para iterar por meio dos níveis progressivos de uma imagem JPEG progressiva.

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();
}	

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2, Windows Server 2008 com SP2 e Atualização de Plataforma para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho wincodec.h
DLL Windowscodecs.dll

Confira também

IWICProgressiveLevelControl

Visão geral da decodificação progressiva