Freigeben über


IWICProgressiveLevelControl::SetCurrentLevel-Methode (wincodec.h)

Gibt die Ebene an, die beim nächsten Aufruf von CopyPixels abgerufen werden soll.

Syntax

HRESULT SetCurrentLevel(
  [in] UINT nLevel
);

Parameter

[in] nLevel

Typ: UINT

Gibt an, welche Ebene als Nächstes zurückgegeben werden soll. Wenn die Gesamtzahl der unterstützten Ebenen übersteigt, wird ein Fehler zurückgegeben.

Rückgabewert

Typ: HRESULT

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Ein Aufruf muss nicht jede unterstützte Ebene anfordern. Wenn ein Aufrufer Ebene 1 anfordert, ohne zuvor Ebene 0 angefordert zu haben, enthalten die Bits, die vom nächsten Aufruf von CopyPixels zurückgegeben werden, beide Ebenen.

Wenn die angeforderte Ebene ungültig ist, wird der zurückgegebene Fehler WINCODEC_ERR_INVALIDPROGRESSIVELEVEL.

Beispiele

Benutzer sollten diese Methode verwenden, um die progressiven Ebenen eines progressiven JPEG-Bilds anstelle der GetCurrentLevel-Methode zu durchlaufen. Die progressiven JPEG-Ebenen werden vom Bild bestimmt und verfügen nicht über eine feste Anzahl von Ebenen. Wenn Sie die GetCurrentLevel-Methode verwenden, muss die Anwendung warten, bis alle progressiven Ebenen heruntergeladen werden, bevor sie zurückgegeben werden kann. Stattdessen sollten Anwendungen den folgenden Code verwenden, um die progressiven Ebenen eines progressiven JPEG-Bilds zu durchlaufen.

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7, Windows Vista mit SP2 und Plattformupdate für Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2, Windows Server 2008 mit SP2 und Plattformupdate für Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile wincodec.h
DLL Windowscodecs.dll

Weitere Informationen

IWICProgressiveLevelControl

Übersicht über die progressive Decodierung