private int CopyAsSlideshow(string mediaFolder, IDataObject data, string[] files) { var title = GetOnlyVTitle(data); if (!string.IsNullOrEmpty(title)) { const int maxSlideWidth = 1920; const int maxSlideHeight = 1080; var sfb = new SlideFileBuilder(maxSlideWidth, maxSlideHeight) { AutoPlay = false, Loop = false }; for (int n = 0; n < files.Length; ++n) { var file = files[n]; sfb.AddSlide(file, n == 0, false, n == file.Length - 1, false); } var destFilename = Path.Combine(mediaFolder, title + SlideFile.FileExtension); sfb.Build(destFilename, overwrite: true); return(1); } return(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); } } }
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); }
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); } } }
private int CopyAsSlideshow(string mediaFolder, IDataObject data, string[] files) { var title = GetOnlyVTitle(data); if (!string.IsNullOrEmpty(title)) { var sfb = new SlideFileBuilder { AutoPlay = false, Loop = false }; for (int n = 0; n < files.Length; ++n) { var file = files[n]; sfb.AddSlide(file, n == 0, false, n == file.Length - 1, false); } var destFilename = Path.Combine(mediaFolder, title + ".omslide"); sfb.Build(destFilename, overwrite: true); return(1); } return(0); }