/// <summary> /// Creates a snapshot of snapshotSlide after exit animations and places an image of the slide in this slide /// Returns the image shape. /// </summary> public Shape InsertExitSnapshotOfSlide(PowerPointSlide snapshotSlide) { PowerPointSlide previousSlideCopy = snapshotSlide.Duplicate(); previousSlideCopy.Shapes .Cast <Shape>() .Where(shape => previousSlideCopy.HasExitAnimation(shape)) .ToList() .ForEach(shape => shape.Delete()); previousSlideCopy.Copy(); Shape slidePicture = _slide.Shapes.PasteSpecial(PpPasteDataType.ppPastePNG)[1]; previousSlideCopy.Delete(); return(slidePicture); }
/// <summary> /// Creates a snapshot of snapshotSlide after exit animations and places an image of the slide in this slide /// Returns the image shape. /// </summary> public Shape InsertExitSnapshotOfSlide(PowerPointSlide snapshotSlide) { PowerPointSlide previousSlideCopy = snapshotSlide.Duplicate(); previousSlideCopy.Shapes .Cast<Shape>() .Where(shape => previousSlideCopy.HasExitAnimation(shape)) .ToList() .ForEach(shape => shape.Delete()); previousSlideCopy.Copy(); Shape slidePicture = _slide.Shapes.PasteSpecial(PpPasteDataType.ppPastePNG)[1]; previousSlideCopy.Delete(); return slidePicture; }
//Return picture copy of previous slide where shapes with exit animations have been deleted private static PowerPoint.Shape GetPreviousSlidePictureWithBackground(PowerPointSlide currentSlide, PowerPointSlide previousSlide) { PowerPointSlide previousSlideCopy = previousSlide.Duplicate(); List<PowerPoint.Shape> shapes = previousSlideCopy.Shapes.Cast<PowerPoint.Shape>().ToList(); var matchingShapes = shapes.Where(current => previousSlideCopy.HasExitAnimation(current)); foreach (PowerPoint.Shape s in matchingShapes) s.Delete(); previousSlideCopy.Copy(); PowerPoint.Shape slidePicture = currentSlide.Shapes.PasteSpecial(PowerPoint.PpPasteDataType.ppPastePNG)[1]; previousSlideCopy.Delete(); return slidePicture; }