Метод IWICProgressiveLevelControl::SetCurrentLevel (wincodec.h)
Задает уровень, извлекаемого при следующем вызове CopyPixels.
Синтаксис
HRESULT SetCurrentLevel(
[in] UINT nLevel
);
Параметры
[in] nLevel
Тип: UINT
Указывает, какой уровень следует вернуть далее. Если больше общего числа поддерживаемых уровней, будет возвращена ошибка.
Возвращаемое значение
Тип: HRESULT
Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Вызову не нужно запрашивать все поддерживаемые уровни. Если вызывающий объект запрашивает уровень 1, не запрашивая ранее уровень 0, биты, возвращаемые при следующем вызове CopyPixels , будут включать оба уровня.
Если запрошенный уровень недопустим, возвращается ошибка WINCODEC_ERR_INVALIDPROGRESSIVELEVEL.
Примеры
Пользователи должны использовать этот метод для прохода по прогрессивным уровням прогрессивного изображения JPEG, а не метода GetCurrentLevel . Прогрессивные уровни JPEG определяются изображением и не имеют фиксированного числа уровней. Использование метода GetCurrentLevel приведет к принудительному ожиданию скачивания всех прогрессивных уровней, прежде чем оно сможет вернуться. Вместо этого приложения должны использовать следующий код для прохода по прогрессивным уровням прогрессивного изображения 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, Windows Vista с пакетом обновления 2 (SP2) и обновлением платформы для Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | wincodec.h |
DLL | Windowscodecs.dll |