Эффект размытия гауссов
Используйте эффект размытия Gaussian, чтобы создать размытие на основе функции Гаусс для всего входного изображения.
Этот эффект можно использовать для создания свечений и тени, а также для применения результата к исходному изображению с помощью составного эффекта. Это полезно при обработке фотографий для таких фильтров, как выделение и тени. Выходные данные этого эффекта можно использовать для ввода в эффекты освещения, такие как эффекты зеркального освещения или диффузного освещения , так как альфа-канал также размыт, а эффекты освещения используют альфа-канал для определения геометрии поверхности в качестве карты высоты.
Этот эффект используется встроенным эффектом тени .
CLSID для этого эффекта CLSID_D2D1GaussianBlur.
- Пример изображения
- Свойства эффекта
- Режимы оптимизации
- Режимы границ
- Выходное растровое изображение
- Requirements
- Связанные темы
Пример изображения
До |
---|
После |
ComPtr<ID2D1Effect> gaussianBlurEffect;
m_d2dContext->CreateEffect(CLSID_D2D1GaussianBlur, &gaussianBlurEffect);
gaussianBlurEffect->SetInput(0, bitmap);
gaussianBlurEffect->SetValue(D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION, 3.0f);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(gaussianBlurEffect.Get());
m_d2dContext->EndDraw();
Свойства эффекта
Отображаемое перечисление имен и индексов | Описание |
---|---|
StandardDeviation D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION |
Величина размытия, применяемая к изображению. Радиус размытия ядра можно вычислить, умножив стандартное отклонение на 3. Единицами стандартного отклонения и радиуса размытия являются DIP. Значение , равное нулю DIP, полностью отключает этот эффект. Тип — FLOAT. Значение по умолчанию — 3,0f. |
Optimization D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION |
Режим оптимизации. Дополнительные сведения см. в разделе Режимы оптимизации . Тип — D2D1_GAUSSIANBLUR_OPTIMIZATION. Значение по умолчанию — D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED. |
BorderMode D2D1_GAUSSIANBLUR_PROP_BORDER_MODE |
Режим, используемый для вычисления границы изображения, мягкой или жесткой. Дополнительные сведения см. в разделе Режимы границ . Тип — D2D1_GAUSSIANBLUR_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 размер выходного растрового рисунка увеличивается на размер ядра размытия, представленного в пикселях. В этой таблице представлено уравнение, которое можно использовать для вычисления выходного растрового изображения.
Output bitmap growth (X and Y) = StandardDeviation (DIPs)*6*((User DPI)/96)
Таким образом, если размер изображения увеличивается на 10 пикселей в каждом направлении, верхний левый угол изображения будет находиться в (-5, -5), а нижний правый — в (105, 105).
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 и обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows] |
Минимальная версия сервера | Windows 8 и обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows] |
Заголовок | d2d1effects.h |
Библиотека | d2d1.lib, dxguid.lib |