C # WPF Кисть для размытия холста - PullRequest
0 голосов
/ 29 сентября 2019

У меня есть холст, в который я добавляю дочерний элемент изображения.

<Canvas SnapsToDevicePixels="True" Width="56160" Height="37440">
    <Image Width="56160" Height="37440" x:Name="OverlayImage"/>
</Canvas>

На этом холсте мне нужно нарисовать обычные линии, которые размыт фон. Пример этой кисти доступен в Photoshop (кисть Blur). Я знаю, как размыть весь холст, используя класс BlurEffect (из пространства имен System.Windows.Media.Effects).

Но мне нужно размытие там, где пользователь рисует линию.

Я думаю,что, возможно, мне нужно реализовать шейдер для этой задачи, но у меня нет практики написания кода HLSL (High Level Shader Language). Скажите, какой подход я должен использовать для решения этой проблемы?

1 Ответ

1 голос
/ 29 сентября 2019

Размытие всего изображения, сохраните результат, используйте обычную кисть и нарисуйте маску, а затем размывайте размытое изображение с оригиналом, используя маску.

...