Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте эффект цветовой матрицы для изменения значений RGBA растрового изображения.
Этот эффект можно использовать для:
- Удалите цветной канал из изображения.
- Уменьшите цвет изображения.
- Переключение цветового канала.
- Объединить цветовые каналы.
Многие встроенные эффекты — это специализации цветовой матрицы, оптимизированной для предполагаемого использования эффектов. Примерами являются насыщенность, поворот, сепии, а также температуры и.
CLSID для этого эффекта CLSID_D2D1ColorMatrix.
- пример изображения
- свойства эффекта
- альфа-режимы
- требования
- связанные разделы
Пример изображения
В примере показаны входные и выходные изображения эффектов цветовой матрицы, заменяющие красные и синие каналы.
| Перед |
|---|
|
| После |
|
ComPtr<ID2D1Effect> colorMatrixEffect;
m_d2dContext->CreateEffect(CLSID_D2D1ColorMatrix, &colorMatrixEffect);
colorMatrixEffect->SetInput(0, bitmap);
D2D1_MATRIX_5X4_F matrix = D2D1::Matrix5x4F(0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0);
colorMatrixEffect->SetValue(D2D1_COLORMATRIX_PROP_COLOR_MATRIX, matrix);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(colorMatrixEffect.Get());
m_d2dContext->EndDraw();
Этот эффект умножает значения RGBA изображения на 5x4, основную матрицу столбцов, как показано в этом уравнении.
Этот эффект работает на прямых и предварительно премультированных альфа-изображениях.
Свойства эффекта
| Отображаемое имя и перечисление индексов | Описание |
|---|---|
| ColorMatrix D2D1_COLORMATRIX_PROP_COLOR_MATRIX |
Матрица с плавающей запятой 5x4. Элементы в матрице не привязаны и не являются модульными. По умолчанию используется матрица удостоверений. Тип D2D1_MATRIX_5X4_F. Значением по умолчанию является Matrix5x4F(1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0). |
| AlphaMode D2D1_COLORMATRIX_PROP_ALPHA_MODE |
Альфа-режим выходных данных. Дополнительные сведения см. в альфа-режимах. Тип — D2D1_COLORMATRIX_ALPHA_MODE. Значение по умолчанию — D2D1_COLORMATRIX_ALPHA_MODE_PREMULTIPLIED. |
| ClampOutput D2D1_COLORMATRIX_PROP_CLAMP_OUTPUT |
Если эффект зажимает значения цвета в диапазоне от 0 до 1, прежде чем эффект передает значения следующему эффекту в графе. Эффект зажимает значения перед тем, как он премультирует альфа- . Если задано значение TRUE, эффект зацепнет значения. Если задано значение FALSE, эффект не зацепляет значения цвета, но другие эффекты и выходная поверхность могут зажать значения, если они не имеют достаточной точности. Тип — BOOL. Значение по умолчанию — FALSE. |
Альфа-режимы
| Имя | Описание |
|---|---|
| D2D1_COLORMATRIX_ALPHA_MODE_PREMULTIPLIED | Эффект не премультируют входные данные, применяет цветовую матрицу и премультируют выходные данные. |
| D2D1_COLORMATRIX_ALPHA_MODE_STRAIGHT | Эффект применяет цветовую матрицу непосредственно к входным данным и не предварительно выводит выходные данные. |
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент | Windows 8 и Обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows] |
| Минимальный поддерживаемый сервер | Windows 8 и Обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows] |
| Заголовок | d2d1effects.h |
| Библиотека | d2d1.lib, dxguid.lib |