我将模糊效果应用于WPF中的图像,如下所示:
<Image ClipToBounds="True">
<Image.Effect>
<BlurEffect Radius="100" KernelType="Gaussian" RenderingBias="Performance" />
</Image.Effect>
</Image>
如你所见,半径很大,因为图像很大,我需要它变得非常模糊。然而,对于这么大的半径,我在我的图像周围得到了一个光框,如所附图像所示。我怎么才能抑制它呢?
如果你想知道:结果是一样的,不管RenderingBias
是什么。边框也是以质量模式生成的。
发布于 2011-06-04 23:48:26
现在发生的事情是与ClipToBounds一起模糊的结果。因为你使用的是高斯模糊,所以边缘会自然地混合到背景中(白色)。
应用ClipToBounds基本上切断了原本会与白色混合的地方,这就是为什么你会得到一个白色的框架。
除非你愿意进一步裁剪图像,不幸的是,这就是模糊的工作方式。
发布于 2011-06-06 15:08:38
在模糊之前,可以使用图像边框中的像素填充图像。通过这样做,您可以确保边界周围的模糊像素将使用类似颜色的像素进行模糊,而白色的边界将消失。当然,在模糊之后,将图像裁剪回其原始大小。
https://stackoverflow.com/questions/6236054
复制相似问题