高斯模糊导致图像周围的白框

Tho*_*mar 19 c# wpf image blur

我正在将模糊效果应用于WPF中的图像,如下所示:

<Image ClipToBounds="True">
    <Image.Effect>
        <BlurEffect Radius="100" KernelType="Gaussian" RenderingBias="Performance" />
    </Image.Effect>
</Image>
Run Code Online (Sandbox Code Playgroud)

如您所见,半径很大,因为图像很大,我需要它非常模糊.然而,对于一个大的半径,我在我的图像周围得到一个轻框,如附图所示.我怎么能抑制这个?

如果你想知道:结果是无关紧要的RenderingBias.边界也以质量模式生产.

图像周围的白色边框

Lon*_*eng 10

发生的事情是与ClipToBounds一起模糊的结果.由于您使用的是高斯模糊,因此边缘会自然地融入背景(白色).

应用ClipToBounds基本上会切断它本来混合到白色的位置,因此为什么你会得到一个白框.

除非你愿意更多地剪辑图像,否则这就是模糊的工作方式.

cliptobounds的屏幕截图