Яркость к альфа-эффекту
Используйте яркость для альфа-эффекта, чтобы задать для альфа-канала яркость изображения и задать для цветовых каналов значение 0. Выходные данные этого эффекта можно использовать для создания полупрозрачного наложения в зависимости от яркости входного изображения. Или вы можете использовать его для создания маски изображения.
Примечание
Этот эффект не имеет свойств.
CLSID для этого эффекта CLSID_D2D1LuminanceToAlpha.
Пример изображения
В этом примере показаны выходные данные яркости альфа-эффекта, составного по белой поверхности, чтобы показать непрозрачность.
До |
---|
![]() |
После |
![]() |
ComPtr<ID2D1Effect> luminanceToAlphaEffect;
m_d2dContext->CreateEffect(CLSID_D2D1LuminanceToAlpha, &luminanceToAlphaEffect);
luminanceToAlphaEffect->SetInput(0, bitmap);
// LuminanceToAlpha result is composited on top of a white surface to show opacity.
ComPtr<ID2D1Effect> floodEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Flood, &floodEffect);
floodEffect->SetValue(D2D1_FLOOD_PROP_COLOR, D2D1::Vector4F(1.0f, 1.0f, 1.0f, 1.0f));
ComPtr<ID2D1Effect> compositeEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Composite, &compositeEffect);
compositeEffect->SetInputEffect(0, floodEffect.Get());
compositeEffect->SetInputEffect(1, luminanceToAlphaEffect.Get());
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(compositeEffect.Get());
m_d2dContext->EndDraw();
Этот эффект задает альфа-канал выходных данных для яркости входного изображения с помощью этой цветовой матрицы.
Этот эффект использует и выводит предварительно подготовленные альфа-изображения. Эффект не будет работать на прямых альфа-изображениях, если они не являются полностью непрозрачными.
Примечание
Так как изображения хранятся в гамма-компенсированном формате, перед вычислением яркости изображения необходимо сначала выполнить обратную гамма-коррекцию, чтобы получить истинные значения цвета для изображения. Так как изображения обычно хранятся в гамме 2,2, можно использовать эффект гамма-передачи с экспонентой (1/2,2), а затем использовать выходные данные этого эффекта.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 и обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows] |
Минимальная версия сервера | Windows 8 и обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows] |
Заголовок | d2d1effects.h |
Библиотека | d2d1.lib, dxguid.lib |
Выходной растровый рисунок
Размер выходных данных совпадает с размером входного изображения.
Связанные темы