Эффект яркости
Используйте эффект яркости для управления яркостью изображения.
ClSID для этого эффекта CLSID_D2D1Brightness.
Пример изображения
До |
---|
После |
ComPtr<ID2D1Effect> brightnessEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Brightness, &brightnessEffect);
brightnessEffect->SetValue(D2D1_BRIGHTNESS_PROP_BLACK_POINT, D2D1::Vector2F(0.0f, 0.2f));
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(brightnessEffect.Get());
m_d2dContext->EndDraw();
Свойства эффекта
Отображаемое имя свойства | Тип и значение по умолчанию | Описание |
---|---|---|
WhitePoint D2D1_BRIGHTNESS_PROP_WHITE_POINT |
D2D1_VECTOR_2F {1.0f, 1.0f} |
Верхняя часть кривой передачи яркости. Белая точка изменяет внешний вид более ярких частей изображения. Это свойство относится как к значению x, так и к значению y в указанном порядке. Каждое из значений этого свойства находится в диапазоне от 0 до 1 включительно. |
BlackPoint D2D1_BRIGHTNESS_PROP_BLACK_POINT |
D2D1_VECTOR_2F {0.0f, 0.0f} |
Нижняя часть кривой передачи яркости. Черная точка изменяет внешний вид более темных частей изображения. Это свойство относится как к значению x, так и к значению y в указанном порядке. Каждое из значений этого свойства находится в диапазоне от 0 до 1 включительно. |
Этот эффект использует указанные белые и черные точки для создания функции передачи, используемой для настройки растрового изображения. Следующее уравнение описывает функцию передачи. Интенсивность входных данных определяется в диапазоне от 0 до 1.
Алгоритм эффекта реализует уравнение, создающее функцию передачи. Эта функция используется для настройки пикселей изображения. Значения x и y черной точки и белой точки являются координатами в двух измерениях, которые связаны для формирования преобразования. Каждая часть итогового выходного уравнения:
Преобразует данные изображения из линейного пространства в нелинейное с помощью формулы:
Настраивает изображение в соответствии со следующими значениями:
input — это значения интенсивности пикселей входного изображения от 0 до 1.
*Белый Pt. (x, y)*расположение кривой преобразования для более яркой интенсивности пикселей.
Черный Пт. (x, y) — это расположение кривой преобразования для более темной интенсивности пикселей.
Преобразует данные изображения обратно в линейное пространство с помощью следующего уравнения:
Здесь показаны итоговое выходное уравнение и составные части.
Выходной растровый рисунок
Размер выходного растрового изображения совпадает с размером входного растрового рисунка.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 и обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows] |
Минимальная версия сервера | Windows 8 и обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows] |
Заголовок | d2d1effects.h |
Библиотека | d2d1.lib, dxguid.lib |