Поделиться через


Эффект контрастности

Увеличивает или уменьшает контрастность изображения.

CLSID для этого эффекта CLSID_D2D1Contrast.

Функция контрастности изменяет каждое значение цветового канала с помощью двух кусковых квадратиальных полиномов, которые соответствуют непрерывности наклона в точке (0,5, 0,5).

кусочно-квадратичные полиномы, которые соответствуют непрерывности наклона в точке (0,5, 0,5)

Примеры изображений

В этом примере показаны выходные данные эффекта с применением максимальной контрастности (Контрастность = 1,0).

До

изображение перед применением эффекта

После

изображение после применения эффекта

Образец кода

ComPtr<ID2D1Effect> contrastEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Contrast, &contrastEffect);
 
contrastEffect->SetInput(0, bitmap);
contrastEffect->SetValue(D2D1_CONTRAST_PROP_CONTRAST, 0.5f);
contrastEffect->SetValue(D2D1_CONTRAST_PROP_CLAMP_INPUT, TRUE);
 
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(contrastEffect.Get());
m_d2dContext->EndDraw();

Свойства эффекта

Свойства для эффекта контрастности определяются перечислением D2D1_CONTRAST_PROP .

Требования

Требование Значение
Минимальная версия клиента Windows 10 [классические приложения | Приложения Магазина Windows]
Минимальная версия сервера Windows 10 [классические приложения | Приложения Магазина Windows]
Заголовок d2d1effects_2.h
Библиотека d2d1.lib, dxguid.lib