Condividi tramite


Metodo IWICProgressiveLevelControl::SetCurrentLevel (wincodec.h)

Specifica il livello da recuperare nella chiamata successiva a CopyPixels.

Sintassi

HRESULT SetCurrentLevel(
  [in] UINT nLevel
);

Parametri

[in] nLevel

Tipo: UINT

Specifica il livello da restituire successivo. Se maggiore del numero totale di livelli supportati, verrà restituito un errore.

Valore restituito

Tipo: HRESULT

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Non è necessario che una chiamata richieda ogni livello supportato. Se un chiamante richiede il livello 1, senza aver richiesto in precedenza il livello 0, i bit restituiti dalla chiamata successiva a CopyPixels includeranno entrambi i livelli.

Se il livello richiesto non è valido, l'errore restituito viene WINCODEC_ERR_INVALIDPROGRESSIVELEVEL.

Esempio

Gli utenti devono usare questo metodo per scorrere i livelli progressivi di un'immagine JPEG progressiva anziché il metodo GetCurrentLevel . I livelli progressivi JPEG sono determinati dall'immagine e non hanno un conteggio a livello fisso. L'uso del metodo GetCurrentLevel forza l'applicazione ad attendere il download di tutti i livelli progressivi prima che possa essere restituito. Le applicazioni devono invece usare il codice seguente per scorrere i livelli progressivi di un'immagine 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();
}	

Requisiti

Requisito Valore
Client minimo supportato Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione wincodec.h
DLL Windowscodecs.dll

Vedi anche

IWICProgressiveLevelControl

Panoramica della decodifica progressiva