替代对DrawingVisual的模糊效果

时间:2009-08-20 06:40:00

标签: wpf wpf-controls drawing

我想给我的DrawingVisual模糊效果。我可以使用BitmapEffect属性执行此操作,例如:

DrawingVisual drawingVisual = new DrawingVisual();
DrawingContext drawingContext = drawingVisual.RenderOpen();
var effect = new System.Windows.Media.Effects.BlurBitmapEffect();
effect.Radius = 10;
drawingVisual.BitmapEffect = effect;

但编译器会给我一个警告,即Bitmap效果属性已过时。

我可以用什么其他替代方案来实现对DrawingVisual的影响?

2 个答案:

答案 0 :(得分:2)

在3.5SP1中不支持DrawingVisual的Effect属性,但还有另一种方法可以实现此功能,以将着色器效果应用于视觉效果。 Here是我们如何将着色器效果应用于DrawingVisual

的示例

答案 1 :(得分:1)

DrawingVisual尚不支持使用像素着色器的新Effect方法(内置BlurEffect是你应该使用的)。您可以等到他们这样做,或者您可以通过将视觉效果呈现为某种Image并使用Image.Effect属性来解决此问题。