[C#WPF画笔模糊画布

问题描述 投票:0回答:2

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

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

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

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

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

c wpf directx hlsl
2个回答
1
投票

将整个图像模糊化,存储结果,使用常规笔刷绘画蒙版,并使用蒙版将模糊的图像与原始图像进行alpha混合。


0
投票

您可以将这些东西作为对象添加到画布中。线对象或作为路径(用几何形状定义其形状)。然后,您可以对每一个应用模糊效果。当然,那不会使他们所处的图像模糊。这是我能想到的不仅仅对整个画布应用模糊处理的唯一原因。

© www.soinside.com 2019 - 2024. All rights reserved.