private CompositionBrush CreateCrossFadeEffectBrush(Compositor compositor, CompositionBrush from, CompositionBrush to) { var crossFadeEffect = new CrossFadeEffect(); crossFadeEffect.Name = "Crossfade"; // Name to reference when starting the animation. crossFadeEffect.Source1 = new CompositionEffectSourceParameter("source1"); crossFadeEffect.Source2 = new CompositionEffectSourceParameter("source2"); crossFadeEffect.CrossFade = 0; CompositionEffectBrush crossFadeEffectBrush = compositor.CreateEffectFactory(crossFadeEffect, new List <string>() { "Crossfade.CrossFade" }).CreateBrush(); crossFadeEffectBrush.Comment = "Crossfade"; // The inputs have to be swapped here to work correctly... crossFadeEffectBrush.SetSourceParameter("source1", to); crossFadeEffectBrush.SetSourceParameter("source2", from); return(crossFadeEffectBrush); }
private ICanvasImage CreateCrossFade() { if (!CrossFadeEffect.IsSupported) { return CreateNotSupportedMessage(requiresWin10_14393); } textLabel = requiresWin10_14393; var upsideDownTiger = new Transform2DEffect { Source = bitmapTiger, TransformMatrix = Matrix3x2.CreateScale(1, -1, bitmapTiger.Size.ToVector2() / 2) }; var crossFadeEffect = new CrossFadeEffect { Source1 = bitmapTiger, Source2 = upsideDownTiger }; // Animation changes the crossfade amount. animationFunction = elapsedTime => { crossFadeEffect.CrossFade = 0.5f + (float)Math.Sin(elapsedTime * 2) / 2; }; return crossFadeEffect; }