We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Animating Fill Colour

The documentation on animation on PPTX is really, really, lacking.

We're trying to animate a point from A to B, which must change colour depending on where it ends up.

Animating the motion path is ok :

EffectEx fxUserPath = pres.Slides[0].Timeline.MainSequence.AddEffect(circle, EffectTypeEx.PathUser, EffectSubtypeEx.None, EffectTriggerTypeEx.OnClick);

//Now extract the behaviour we just added

MotionEffectEx motionBhv = ((MotionEffectEx)fxUserPath.Behaviors[0]);

PointF[] pts = new PointF[1];

.....

motionBhv.Path.Add(MotionCommandPathTypeEx.LineTo, pts, MotionPathPointsTypeEx.Auto, true);

motionBhv.Path.Add(MotionCommandPathTypeEx.End, null, MotionPathPointsTypeEx.Auto, false);

The problem is then how to do the animation of color....

I'm GUESSING that I need to do something like this first :

EffectEx colourChange = pres.Slides[0].Timeline.MainSequence.AddEffect(circle, EffectTypeEx.ChangeFillColor, EffectSubtypeEx.None, EffectTriggerTypeEx.WithPrevious);

i.e. to say that I want to animate a "ChangeFillColor" and that it should happend "WithPrevious" i.e. at the same time as the move effect.

I GUESS that I should now extract something from "colourChange" which will let me determine what the fill colour should change to... something like EffectFillTypeEx, but I do not understand HOW.

Please enlighten us how better to use these (hopefully) powerful features you have build into Aspose.

For anybody wondering how to do this... forget using the documentation and turn to inspection by debugging ;-)

EffectEx colourChange = pres.Slides[0].Timeline.MainSequence.AddEffect(circle, EffectTypeEx.ChangeFillColor, EffectSubtypeEx.None, EffectTriggerTypeEx.WithPrevious);

ColorEffectEx colourEffect = (colourChange.Behaviors[0] as ColorEffectEx);

colourEffect.From.Color = Color.Black;

colourEffect.To.Color = Color.Red;