Эффект размытия Гауссиана
Используйте эффект размытия Gaussian, чтобы создать размытие на основе функции Gaussian во всем входном изображении.
Этот эффект можно использовать для создания свечений и тени и использования составного эффекта для применения результата к исходному изображению. Это полезно при обработке фотографий для фильтров, таких как выделения и тени. Вы можете использовать выходные данные этого эффекта для ввода в эффекты освещения, такие как спекулезное освещение или эффекты диффузного освещения, так как альфа-канал размыт, а эффекты освещения используют альфа-канал для определения геометрии поверхности как карты высоты.
Этот эффект используется встроенным эффектом тени.
CLSID для этого эффекта CLSID_D2D1GaussianBlur.
- пример изображения
- свойства эффекта
- режимы оптимизации
- режимы границы
- растровое изображение вывода
- требования
- связанные разделы
Пример изображения
Перед |
---|
![]() |
После |
![]() |
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. Единицы стандартного отклонения и радиуса размытия являются diPs. Значение нулевых ДИП полностью отключает этот эффект. Тип FLOAT. Значение по умолчанию — 3.0f. |
Оптимизация 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 |