Exemple #1
0
        public void TestSlideCreation()
        {
            const string slideFilePath = "test.omslide";

            var fb = new SlideFileBuilder();

            fb.AddSlide(@"TestImages\001.jpg", true, true, true, true);
            fb.AddSlide(@"TestImages\002.jpg", true, true, true, true);
            fb.AddSlide(@"TestImages\003.jpg", true, true, true, true);

            fb.AddSlide(@"TestImages\001.jpg", false, false, false, false);
            fb.AddSlide(@"TestImages\002.jpg", false, false, false, false);
            fb.AddSlide(@"TestImages\003.jpg", false, false, false, false);

            fb.Loop     = true;
            fb.AutoPlay = true;
            fb.DwellTimeMilliseconds = 5000;

            fb.Build(slideFilePath, true);

            var file = new SlideFile(slideFilePath);

            for (int n = 0; n < file.SlideCount; ++n)
            {
                var slide = file.GetSlide(n);

                BitmapEncoder encoder = new PngBitmapEncoder();
                encoder.Frames.Add(BitmapFrame.Create(slide.Image));

                using (var fileStream = new System.IO.FileStream(slide.ArchiveEntryName, System.IO.FileMode.Create))
                {
                    encoder.Save(fileStream);
                }
            }
        }
Exemple #2
0
 private void PopulateSlideData(MediaItem mediaItem)
 {
     if (!IsSlideDataPopulated(mediaItem))
     {
         var sf = new SlideFile(mediaItem.FilePath);
         mediaItem.SlideshowCount     = sf.SlideCount;
         mediaItem.SlideshowLoop      = sf.Loop;
         mediaItem.IsRollingSlideshow = sf.AutoPlay;
     }
 }
Exemple #3
0
        private byte[] GetSlideshowThumbnail(string originalPath)
        {
            var file = new SlideFile(originalPath);

            if (file.SlideCount == 0)
            {
                return(_standardUnknownThumbnail.Value);
            }

            var slide = file.GetSlide(0);

            return(GraphicsUtils.CreateThumbnailOfImage(slide.Image, MaxPixelDimension));
        }
Exemple #4
0
        public void TestImageWithBadColorProfile()
        {
            var slideFilePath = "test" + SlideFile.FileExtension;

            var fb = new SlideFileBuilder(1920, 1080);

            fb.AddSlide(GetAbsolutePath(@"TestImages\JPGwithBadColorProfile.jpg"), true, true, true, true);

            fb.Build(slideFilePath, true);
            var file  = new SlideFile(slideFilePath);
            var slide = file.GetSlide(0);

            Assert.IsNotNull(slide.Image);
        }
Exemple #5
0
        private void InitFromSlideshowFile(string mediaItemFilePath)
        {
            var sf = new SlideFile(mediaItemFilePath);

            if (sf.SlideCount == 0)
            {
                return;
            }

            sf.ExtractImages(_slideshowStagingFolder);

            _slides = sf.GetSlides(includeBitmapImage: false).ToList();
            _shouldLoopSlideshow        = sf.Loop;
            _autoPlaySlideshow          = sf.AutoPlay;
            _autoPlaySlideshowDwellTime = sf.DwellTimeMilliseconds;
        }
        private async Task PopulateSlideDataAsync(MediaItem mediaItem)
        {
            if (!IsSlideDataPopulated(mediaItem) && mediaItem.FilePath != null)
            {
                SlideFile?sf = null;

                await Task.Run(() => sf = new SlideFile(mediaItem.FilePath), _cancellationToken);

                if (sf != null && !_cancellationToken.IsCancellationRequested)
                {
                    mediaItem.SlideshowCount     = sf.SlideCount;
                    mediaItem.SlideshowLoop      = sf.Loop;
                    mediaItem.IsRollingSlideshow = sf.AutoPlay;
                }
            }
        }
Exemple #7
0
        public void TestSlideCreation()
        {
            var slideFilePath = "test" + SlideFile.FileExtension;

            var fb = new SlideFileBuilder(1920, 1080);

            fb.AddSlide(GetAbsolutePath(@"TestImages\001.jpg"), true, true, true, true);
            fb.AddSlide(GetAbsolutePath(@"TestImages\002.jpg"), true, true, true, true);
            fb.AddSlide(GetAbsolutePath(@"TestImages\003.jpg"), true, true, true, true);

            fb.AddSlide(GetAbsolutePath(@"TestImages\001.jpg"), false, false, false, false);
            fb.AddSlide(GetAbsolutePath(@"TestImages\002.jpg"), false, false, false, false);
            fb.AddSlide(GetAbsolutePath(@"TestImages\003.jpg"), false, false, false, false);

            fb.Loop     = true;
            fb.AutoPlay = true;
            fb.DwellTimeMilliseconds = 5000;

            fb.Build(slideFilePath, true);

            var file = new SlideFile(slideFilePath);

            for (var n = 0; n < file.SlideCount; ++n)
            {
                var slide = file.GetSlide(n);

                BitmapEncoder encoder = new PngBitmapEncoder();
                Assert.IsNotNull(slide.Image);
                encoder.Frames.Add(BitmapFrame.Create(slide.Image));

                Assert.IsNotNull(slide.ArchiveEntryName);
                using (var fileStream = new FileStream(slide.ArchiveEntryName, FileMode.Create))
                {
                    encoder.Save(fileStream);
                }
            }
        }