示例#1
0
        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);
        }
示例#2
0
文件: TestSlides.cs 项目: fkdl/OnlyM
        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);
                }
            }
        }
示例#3
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);
        }
示例#4
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);
                }
            }
        }
示例#5
0
        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);
        }