Эффект размытия направления
Эффект размытия направления аналогичен гауссовскому размытию, за исключением того, что вы можете исказить размытие в определенном направлении. Этот эффект можно использовать для того, чтобы изображение выглядело так, как будто оно находится в движении, или чтобы подчеркнуть анимированное изображение.
CLSID для этого эффекта CLSID_D2D1DirectionalBlur.
- Пример изображения
- Свойства эффекта
- Режимы оптимизации
- Режимы границ
- Выходной растровый рисунок
- Requirements
- Связанные темы
Пример изображения
До |
---|
После |
ComPtr<ID2D1Effect> directionalBlurEffect;
m_d2dContext->CreateEffect(CLSID_D2D1DirectionalBlur, &directionalBlurEffect);
directionalBlurEffect->SetInput(0, bitmap);
directionalBlurEffect->SetValue(D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION, 7.0f);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(directionalBlurEffect.Get());
m_d2dContext->EndDraw();
Свойства эффекта
Отображаемое перечисление имен и индексов | Описание |
---|---|
StandardDeviation D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION |
Величина размытия, применяемая к изображению. Вы можете вычислить радиус размытия ядра, умножив стандартное отклонение на 3. Единицы стандартного отклонения и радиуса размытия — это DIP. Значение 0 DIP отключает этот эффект. Тип — FLOAT. Значение по умолчанию — 3.0f. |
Angle D2D1_DIRECTIONALBLUR_PROP_ANGLE |
Угол размытия относительно оси X в направлении против часовой стрелки. Единицы измерения указываются в градусах. Ядро размытия сначала создается с помощью того же процесса, что и для эффекта размытия Gaussian . Затем значения ядра преобразуются в соответствии с углом размытия. Тип — FLOAT. Значение по умолчанию — 0,0f. |
Optimization D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION |
Режим оптимизации. Дополнительные сведения см. в разделе Режимы оптимизации . Тип D2D1_DIRECTIONALBLUR_OPTIMIZATION. Значение по умолчанию — D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED. |
BorderMode D2D1_DIRECTIONALBLUR_PROP_BORDER_MODE |
Режим, используемый для вычисления границы изображения, мягкой или жесткой. Дополнительные сведения см. в разделе Режимы границ . Тип D2D1_BORDER_MODE. Значение по умолчанию — D2D1_BORDER_MODE_SOFT. |
Режимы оптимизации
Имя | Описание |
---|---|
D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED | Применяет внутренние оптимизации, такие как предварительное масштабирование с относительно небольшими радиусами. Использует линейную фильтрацию. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED | Использует те же пороговые значения оптимизации, что и режим скорости, но использует трилинейную фильтрацию. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY | Использует только внутренние оптимизации с большими радиусами размытия, где приближения менее вероятно видны. Использует трилинейную фильтрацию. |
Режимы границ
Имя | Описание |
---|---|
D2D1_BORDER_MODE_SOFT | Эффект заполняет изображение прозрачными черными пикселями при применении ядра размытия, что приводит к мягкому краю. |
D2D1_BORDER_MODE_HARD | Эффект прижимает выходные данные к размеру входного изображения. Когда эффект применяет ядро размытия, он расширяет входное изображение с помощью преобразования границы зеркало типа для образцов за пределами входных границ. |
Выходной растровый рисунок
Размер выходного растрового изображения увеличивается в зависимости от стандартного отклонения, угла эффекта и режима границы. Если для режима границы задано значение D2D1_BORDER_MODE_SOFT размер выходного растрового изображения увеличивается на размер ядра размытия, представленного в пикселях. Эти уравнения можно использовать для вычисления размера выходного растрового изображения.
Требование | Значение |
---|---|
Увеличение размера X выходного растрового рисунка | StandardDeviation (DIP) * 6 * ((User DPI) / 96) * cos(Angle)) |
Увеличение Y выходного растрового рисунка | StandardDeviation (DIP) * 6 * ((User DPI) / 96) * sin(Angle)) |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 и обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows] |
Минимальная версия сервера | Windows 8 и обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows] |
Заголовок | d2d1effects.h |
Библиотека | d2d1.lib, dxguid.lib |