예제 #1
0
        /// <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;
        }
예제 #3
0
        //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;
        }