Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте эффект линейной передачи, чтобы сопоставить интенсивность цвета изображения с помощью линейной функции, созданной из списка значений, предоставляемых для каждого канала.
CLSID для этого эффекта CLSID_D2D1LinearTransfer.
- пример изображения
- свойства эффекта
- требования
- связанные разделы
Пример изображения
| Перед |
|---|
|
| После |
|
ComPtr<ID2D1Effect> linearTransferEffect;
m_d2dContext->CreateEffect(CLSID_D2D1LinearTransfer, &linearTransferEffect);
linearTransferEffect->SetInput(0, bitmap);
linearTransferEffect->SetValue(D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT, -1.0f);
linearTransferEffect->SetValue(D2D1_LINEARTRANSFER_PROP_RED_SLOPE, 2.5f);
linearTransferEffect->SetValue(D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT, -1.0f);
linearTransferEffect->SetValue(D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE, 5.0f);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(linearTransferEffect.Get());
m_d2dContext->EndDraw();
Функция линейной передачи создается на основе наклона и перехвата для каждого указанного канала. Интенсивность выходных пикселей C вычисляется с помощью уравнения: C' = mC + B, где m является наклоном линейной функции и B является перехватом линейной функции Y.
Этот эффект работает на прямых и предварительно премультированных альфа-изображениях. Эффект выводит предварительно заданные альфа-растровые изображения.
Свойства эффекта
Заметка
Для всех каналов линейных свойств передачи:
- Перехват Y не ограничен и не является модульным.
- Склон не ограничен и не является единичного.
| Отображаемое имя и перечисление индексов | Тип и значение по умолчанию | Описание |
|---|---|---|
| RedYIntercept D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT |
ПЛАВАТЬ 0.0f |
Y-перехват линейной функции для канала Red. |
| RedSlope D2D1_LINEARTRANSFER_PROP_RED_SLOPE |
ПЛАВАТЬ 1.0f |
Наклон линейной функции для канала Red. |
| RedDisable D2D1_LINEARTRANSFER_PROP_RED_DISABLE |
BOOL ЛОЖНЫЙ |
Если задать значение TRUE, эффект не применяет функцию передачи к каналу Red. Если задать значение FALSE, эффект применяет функцию RedLinearTransfer к каналу Red. |
| GreenYIntercept D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT |
ПЛАВАТЬ 0.0f |
Y-перехват линейной функции для зеленого канала. |
| GreenSlope D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE |
ПЛАВАТЬ 1.0f |
Наклон линейной функции для зеленого канала. |
| GreenDisable D2D1_LINEARTRANSFER_PROP_GREEN_DISABLE |
BOOL ЛОЖНЫЙ |
Если задать значение TRUE, эффект не применяет функцию передачи к зеленому каналу. Если задать значение FALSE, оно применяет функцию GreenLinearTransfer к каналу Green. |
| BlueYIntercept D2D1_LINEARTRANSFER_PROP_BLUE_Y_INTERCEPT |
ПЛАВАТЬ 0.0f |
Y-перехват линейной функции для синего канала. |
| BlueSlope D2D1_LINEARTRANSFER_PROP_BLUE_SLOPE |
ПЛАВАТЬ 1.0f |
Наклон линейной функции для синего канала. |
| BlueDisable D2D1_LINEARTRANSFER_PROP_BLUE_DISABLE |
BOOL ЛОЖНЫЙ |
Если задать значение TRUE, эффект не применяет функцию передачи к каналу Blue. Если задать значение FALSE, оно применяет функцию BlueLinearTransfer к каналу Blue Channel. |
| AlphaYIntercept D2D1_LINEARTRANSFER_PROP_ALPHA_Y_INTERCEPT |
ПЛАВАТЬ 0.0f |
Y-перехват линейной функции для альфа-канала. |
| AlphaSlope D2D1_LINEARTRANSFER_PROP_ALPHA_SLOPE |
ПЛАВАТЬ 0.0f |
Наклон линейной функции для альфа-канала. |
| AlphaDisable D2D1_LINEARTRANSFER_PROP_ALPHA_DISABLE |
BOOL ЛОЖНЫЙ |
Если задано значение TRUE, эффект не применяет функцию передачи к каналу Alpha. Если задать значение FALSE, оно применяет функцию AlphaLinearTransfer к каналу Альфа. |
| ClampOutput D2D1_LINEARTRANSFER_PROP_CLAMP_OUTPUT |
BOOL ЛОЖНЫЙ |
Если эффект зажимает значения цвета в диапазоне от 0 до 1, прежде чем эффект передает значения следующему эффекту в графе. Эффект зажимает значения перед тем, как он премультирует альфа- . Если задано значение TRUE, эффект зацепнет значения. Если задано значение FALSE, эффект не зацепляет значения цвета, но другие эффекты и выходная поверхность могут зажать значения, если они не имеют достаточной точности. |
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент | Windows 8 и Обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows] |
| Минимальный поддерживаемый сервер | Windows 8 и Обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows] |
| Заголовок | d2d1effects.h |
| Библиотека | d2d1.lib, dxguid.lib |