private void btnImageSeq_Click(object sender, EventArgs e) { var searchPatterns = ((string)boxImageFormatSelection.SelectedItem).Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); using (var diag = new FolderBrowserDialog()) { diag.ShowNewFolderButton = false; var result = diag.ShowDialog(); if (result == DialogResult.OK) { CaptureObj = new ImageDirectoryCapture(diag.SelectedPath, searchPatterns, useNaturalSorting: true, recursive: chkRecursive.Checked); imageDirPath = diag.SelectedPath; btnSaveAnnotations.Enabled = true; } } }
/// <summary> /// Creates video out of the latest screenshots made for the current Tag. /// </summary> public static void mkVideo() { var screenSize = ScreenSize; var videoSize = new DotImaging.Primitives2D.Size(screenSize.X, screenSize.Y); string videoTarget = DirectoryName + @"\" + Tag + "_" + TimeStamp + ".avi"; Console.WriteLine(string.Format("Writing video file: {0}", videoTarget)); ImageDirectoryCapture images = new ImageDirectoryCapture(DirectoryName, Tag + "_*.jpeg"); if (images.Length == 0) { return; } ImageStreamWriter videoWriter = new VideoWriter(videoTarget, videoSize, Configuration.VideoFPS); List <string> toDelete = new List <string>(); while (images.Position < images.Length) { string f = images.CurrentImageName; Console.WriteLine(string.Format(" frame: {0}", f)); IImage image = images.Read(); videoWriter.Write(image); toDelete.Add(f); } videoWriter.Close(); Console.WriteLine("END writing video"); Console.WriteLine("Removing frame files"); foreach (string f in toDelete) { if (f == null) { continue; } File.Delete(f); Console.WriteLine(string.Format("Deleted file: {0}", f)); } Console.WriteLine("Done Removing frame files"); }