Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте эффект размытия 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 |