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); } } }
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; } }
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)); }
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); }
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; } } }
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); } } }