首页 > 解决方案 > C# WPF 画笔模糊画布

问题描述

我有一个画布,我在其中添加了一个子图像元素。

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

在这个画布上,我需要绘制普通的线条来模糊背景。Photoshop(模糊画笔)中提供了这种画笔的示例。我知道如何使用 BlurEffect 类(来自 System.Windows.Media.Effects 命名空间)模糊整个画布。

但我需要模糊用户画线的位置。

我想也许我需要为这个任务实现一个着色器,但我没有编写代码 HLSL(高级着色器语言)的实践。告诉我,我应该使用什么方法来解决这个问题?

标签: wpfdirectxshaderhlslpixel-shader

解决方案


模糊整个图像,存储结果,使用普通画笔并绘制蒙版,然后使用蒙版将模糊图像与原始图像混合。


推荐阅读