예제 #1
0
        /// <summary>
        /// Applies the effect.
        /// </summary>
        /// <returns>
        /// An array of strings of the effect properties to change.
        /// </returns>
        public override string[] ApplyEffect()
        {
            var gaussianBlur = new GaussianBlurEffect
            {
                Name         = EffectName,
                BlurAmount   = 0f,
                Optimization = EffectOptimization.Balanced,
                BorderMode   = EffectBorderMode.Hard,
                Source       = new CompositionEffectSourceParameter("source")
            };

            //BlendEffect finalEffect = new BlendEffect
            //{
            //    Foreground = new CompositionEffectSourceParameter("NoiseImage"),
            //    Background = gaussianBlur,
            //    Mode = BlendEffectMode.Screen,
            //};

            var propertyToChange    = $"{EffectName}.BlurAmount";
            var propertiesToAnimate = new[] { propertyToChange };

            EffectBrush = Compositor.CreateEffectFactory(gaussianBlur, propertiesToAnimate).CreateBrush();
            //EffectBrush.SetSourceParameter("NoiseImage", m_noiseBrush);
            EffectBrush.SetSourceParameter("source", Compositor.CreateHostBackdropBrush());

            return(propertiesToAnimate);
        }
예제 #2
0
        /// <summary>
        /// Applies the effect.
        /// </summary>
        /// <returns>
        /// An array of strings of the effect properties to change.
        /// </returns>
        public override string[] ApplyEffect()
        {
            var brightnessEffect = new BrightnessEffect
            {
                Name   = EffectName,
                Source = new CompositionEffectSourceParameter("source")
            };

            var propertyToChange    = $"{EffectName}.WhitePoint";
            var propertiesToAnimate = new[] { propertyToChange };

            EffectBrush = Compositor.CreateEffectFactory(brightnessEffect, propertiesToAnimate).CreateBrush();
            EffectBrush.SetSourceParameter("source", Compositor.CreateBackdropBrush());

            return(propertiesToAnimate);
        }
예제 #3
0
        /// <summary>
        /// Applies the effect.
        /// </summary>
        /// <returns>
        /// An array of strings of the effect properties to change.
        /// </returns>
        public override string[] ApplyEffect()
        {
            var saturationEffect = new SaturationEffect
            {
                Saturation = 1f,
                Name       = EffectName,
                Source     = new CompositionEffectSourceParameter("source")
            };

            var propertyToChange    = $"{EffectName}.Saturation";
            var propertiesToAnimate = new[] { propertyToChange };

            EffectBrush = Compositor.CreateEffectFactory(saturationEffect, propertiesToAnimate).CreateBrush();
            EffectBrush.SetSourceParameter("source", Compositor.CreateBackdropBrush());

            return(propertiesToAnimate);
        }
예제 #4
0
        /// <summary>
        /// Applies the effect.
        /// </summary>
        /// <returns>
        /// An array of strings of the effect properties to change.
        /// </returns>
        public override string[] ApplyEffect()
        {
            var gaussianBlur = new GaussianBlurEffect
            {
                Name         = EffectName,
                BlurAmount   = 0f,
                Optimization = EffectOptimization.Balanced,
                BorderMode   = EffectBorderMode.Hard,
                Source       = new CompositionEffectSourceParameter("source")
            };

            var propertyToChange    = $"{EffectName}.BlurAmount";
            var propertiesToAnimate = new[] { propertyToChange };

            EffectBrush = Compositor.CreateEffectFactory(gaussianBlur, propertiesToAnimate).CreateBrush();
            EffectBrush.SetSourceParameter("source", Compositor.CreateBackdropBrush());

            return(propertiesToAnimate);
        }