Méthode IWICProgressiveLevelControl ::SetCurrentLevel (wincodec.h)
Spécifie le niveau à récupérer lors de l’appel suivant à CopyPixels.
Syntaxe
HRESULT SetCurrentLevel(
[in] UINT nLevel
);
Paramètres
[in] nLevel
Type : UINT
Spécifie le niveau à retourner ensuite. S’il est supérieur au nombre total de niveaux pris en charge, une erreur est retournée.
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Remarques
Un appel n’a pas besoin de demander tous les niveaux pris en charge. Si un appelant demande le niveau 1, sans avoir précédemment demandé le niveau 0, les bits retournés par l’appel suivant à CopyPixels incluent les deux niveaux.
Si le niveau demandé n’est pas valide, l’erreur retournée est WINCODEC_ERR_INVALIDPROGRESSIVELEVEL.
Exemples
Les utilisateurs doivent utiliser cette méthode pour itérer au sein des niveaux progressifs d’une image JPEG progressive plutôt que la méthode GetCurrentLevel . Les niveaux progressifs JPEG sont déterminés par l’image et n’ont pas de nombre de niveaux fixes. L’utilisation de la méthode GetCurrentLevel force l’application à attendre que tous les niveaux progressifs soient téléchargés avant de pouvoir retourner. Au lieu de cela, les applications doivent utiliser le code suivant pour itérer au sein des niveaux progressifs d’une image JPEG progressive.
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();
}
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 R2, Windows Server 2008 avec SP2 et Platform Update pour Windows Server 2008 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | wincodec.h |
DLL | Windowscodecs.dll |