Я хочу совместить размытие, насыщенность и оттенок.
У меня есть эффект наложения, состоящий из цвета GaussianBlur и Tint.
_compositor = ElementCompositionPreview.GetElementVisual(this).Compositor;
var graphicsEffect = new BlendEffect
{
Mode = BlendEffectMode.Overlay,
Background = new GaussianBlurEffect()
{
Name = "Blur",
Source = new CompositionEffectSourceParameter("Backdrop"),
BlurAmount = 10f
BorderMode = EffectBorderMode.Hard,
},
Foreground = new ColorSourceEffect()
{
Name = "Tint",
Color = Color.FromArgb(120, 255, 255, 255),
}
};
var effectFactory = _compositor.CreateEffectFactory(graphicsEffect)
_brush = effectFactory.CreateBrush();
_brush.SetSourceParameter("Backdrop", _compositor.CreateBackdropBrush());
_effectSprite = _compositor.CreateSpriteVisual();
_effectSprite.Size = new Vector2((float)this.ActualWidth, (float)this.ActualHeight)
_effectSprite.Brush = _brush;
ElementCompositionPreview.SetElementChildVisual(this, _effectSprite)
Как добавить эффект SaturationEffect до или после этого эффекта?
Я попытался обернуть его в другой BlendEffect и установить другой BackdropBrush в качестве источника SaturationEffect, но у меня получился только белый фон.
Я также пытался создать кисть из SaturationEffect и установить для нее источник GaussianBlur, но у меня появилось исключение «Invalid Source Brush»