c# - 高斯模糊导致图像周围出现白框

标签 c# wpf image blur

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

<Image ClipToBounds="True">
    <Image.Effect>
        <BlurEffect Radius="100" KernelType="Gaussian" RenderingBias="Performance" />
    </Image.Effect>
</Image>

如您所见,半径很大,因为图像很大,我需要它真的模糊。然而,对于这么大的半径,我在我的图像周围得到了一个光框,如所附图像所示。我该如何抑制它?

如果您想知道:无论 RenderingBias 是什么,结果都是一样的。边框也以质量模式生成。

White border around image

最佳答案

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

应用 ClipToBounds 基本上切断了它本来会混合到白色的地方,因此你会得到一个白色的框架。

除非您愿意进一步裁剪图像,否则不幸的是这就是模糊的工作原理。

Screenshot of cliptobounds

关于c# - 高斯模糊导致图像周围出现白框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6236054/

相关文章:

c# - 如何在 Xaml 文件的 Xamarin.Forms 中添加复选框?

c# - 无法在 Visual Studio 2013 中创建新的 Web 项目

wpf - 设置堆栈面板不透明度而不影响子控件

wpf - 首先打开新窗口

ios - 修改后的按钮图像在 seque 期间丢失

c# - 从Web浏览器控件内的silverlight调用WPF中的函数

c# - 未找到 BackgroundWorker

c# - 如何使用c#在DataGrid(WPF)中显示列表列表

java - 声音和图像文件为空

java - Wicket 口目录结构