Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте эффект гамма-передачи для сопоставления цветовой интенсивности изображения с помощью гамма-функции, созданной с помощью амплитуды, экспоненты и смещения, предоставляемого для каждого канала.
CLSID для этого эффекта CLSID_D2D1GammaTransfer. Чтобы использовать этот эффект, добавьте dxguid.lib в зависимости компоновщика.
- пример изображения
- свойства эффекта
- растровое изображение вывода
- требования
- связанные разделы
Пример изображения
| Перед |
|---|
|
| После |
|
ComPtr<ID2D1Effect> gammaTransferEffect;
m_d2dContext->CreateEffect(CLSID_D2D1GammaTransfer, &gammaTransferEffect);
gammaTransferEffect->SetInput(0, bitmap);
gammaTransferEffect->SetValue(D2D1_GAMMATRANSFER_PROP_RED_EXPONENT, 0.25f);
gammaTransferEffect->SetValue(D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT, 0.25f);
gammaTransferEffect->SetValue(D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT, 0.25f);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(gammaTransferEffect.Get());
m_d2dContext->EndDraw();
Этот эффект применяет функцию гамма-передачи на основе уравнения здесь.
Интенсивность входных пикселей представлена как C и интенсивность выходных пикселей как C. C' = Amplitude * CЭкспонент + смещение
Этот эффект работает на прямых и предварительно премультированных альфа-изображениях. Эффект выводит предварительно заданные альфа-растровые изображения.
Свойства эффекта
Заметка
Для всех каналов гамма-передачи свойств:
- Амплитудное значение не привязано и не является модульным.
- Экспонентное значение не привязано и не является модульным.
- Значение смещения не привязано и не является модульным.
| Отображаемое имя и перечисление индексов | Описание |
|---|---|
| RedAmplitude D2D1_GAMMATRANSFER_PROP_RED_AMPLITUDE |
Амплитуды гамма-передачи для канала Red. Тип FLOAT. Значение по умолчанию — 1.0f. |
| Red Exponent D2D1_GAMMATRANSFER_PROP_RED_EXPONENT |
Экспонент функции гамма-передачи для канала Red. Тип FLOAT. Значение по умолчанию — 1.0f. |
| RedOffset D2D1_GAMMATRANSFER_PROP_RED_OFFSET |
Смещение функции гамма-передачи для канала Red. Тип FLOAT. Значение по умолчанию — 0.0f. |
| RedDisable D2D1_GAMMATRANSFER_PROP_RED_DISABLE |
Если задано значение TRUE, функция передачи не применяется к каналу Red. Используется функция передачи удостоверений. Если задать значение FALSE, он применяет функцию гамма-передачи к каналу Red. Тип — BOOL. Значение по умолчанию — FALSE. |
| GreenAmplitude D2D1_GAMMATRANSFER_PROP_GREEN_AMPLITUDE |
Амплитуды гамма-передачи для зеленого канала. Тип FLOAT. Значение по умолчанию — 1.0f. |
| Green Exponent D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT |
Экспонент функции гамма-передачи для зеленого канала. Тип FLOAT. Значение по умолчанию — 1.0f. |
| GreenOffset D2D1_GAMMATRANSFER_PROP_GREEN_OFFSET |
Смещение функции гамма-передачи для зеленого канала. Тип FLOAT. Значение по умолчанию — 0.0f. |
| GreenDisable D2D1_GAMMATRANSFER_PROP_GREEN_DISABLE |
Если задано значение TRUE, функция передачи не применяется к зеленому каналу. Используется функция передачи удостоверений. Если задать значение FALSE, оно применяет функцию гамма-передачи к зеленому каналу. Тип — BOOL. Значение по умолчанию — FALSE. |
| BlueAmplitude D2D1_GAMMATRANSFER_PROP_BLUE_AMPLITUDE |
Амплитуда гамма-передачи для синего канала. Тип FLOAT. Значение по умолчанию — 1.0f. |
| Blue Exponent D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT |
Экспонент гамма-передачи для синего канала. Тип FLOAT. Значение по умолчанию — 1.0f. |
| BlueOffset D2D1_GAMMATRANSFER_PROP_BLUE_OFFSET |
Смещение функции гамма-передачи для канала Blue. Тип FLOAT. Значение по умолчанию — 0.0f. |
| BlueDisable D2D1_GAMMATRANSFER_PROP_BLUE_DISABLE |
Если задано значение TRUE, функция передачи не применяется к каналу Blue. Используется функция передачи удостоверений. Если задать значение FALSE, он применяет функцию гамма-передачи к каналу Blue. Тип — BOOL. Значение по умолчанию — FALSE. |
| AlphaAmplitude D2D1_GAMMATRANSFER_PROP_ALPHA_AMPLITUDE |
Амплитуда гамма-передачи для альфа-канала. Тип FLOAT. Значение по умолчанию — 1.0f. |
| Alpha Exponent D2D1_GAMMATRANSFER_PROP_ALPHA_EXPONENT |
Экспонент функции гамма-передачи для альфа-канала. Тип FLOAT. Значение по умолчанию — 1.0f. |
| АльфаOffset D2D1_GAMMATRANSFER_PROP_ALPHA_OFFSET |
Смещение функции гамма-передачи для альфа-канала. Тип FLOAT. Значение по умолчанию — 0.0f. |
| AlphaDisable D2D1_GAMMATRANSFER_PROP_ALPHA_DISABLE |
Если задано значение TRUE, функция передачи не применяется к альфа-каналу. Используется функция передачи удостоверений. Если задать значение FALSE, он применяет функцию гамма-передачи к альфа-каналу. Тип — BOOL. Значение по умолчанию — FALSE. |
| ClampOutput D2D1_GAMMATRANSFER_PROP_CLAMP_OUTPUT |
Если эффект зажимает значения цвета в диапазоне от 0 до 1, прежде чем эффект передает значения следующему эффекту в графе. Эффект зажимает значения перед тем, как он премультирует альфа- . Если задано значение TRUE, эффект зацепнет значения. Если задано значение FALSE, эффект не зацепляет значения цвета, но другие эффекты и выходная поверхность могут зажать значения, если они не имеют достаточной точности. Тип — BOOL. Значение по умолчанию — FALSE. |
Выходной растровый рисунок
Размер выходного растрового изображения совпадает с размером входного растрового изображения.
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент | Windows 8 и Обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows] |
| Минимальный поддерживаемый сервер | Windows 8 и Обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows] |
| Заголовок | d2d1effects.h |
| Библиотека | d2d1.lib, dxguid.lib |