Exemple #1
0
        /// <summary>
        /// Set hotframe for all IStreamWindow
        /// </summary>
        /// <param name="frame">Hotframe object</param>
        public void SetHotFrame(HotFrame frame)
        {
            foreach (Form form in mainForm.MdiChildren)
            {
                if ((!form.IsDisposed) && (form is IStreamWindow))
                {
                    IStreamWindow streamForm = form as IStreamWindow;
                    if (streamForm.HasToSetFrame)
                    {
                        streamForm.SetHotFrame(frame);
                        Form streamFormAsForm = streamForm as Form;
                        streamFormAsForm.Refresh();
                    }
                }
            }

            SetTrackBarTime(frame.Timestamp);
            CurrentHotFrame = frame;
        }
Exemple #2
0
        private void timer_Tick(object sender, EventArgs e)
        {
            NextFrame();

            // Recording mode
            if (tsbRecord.Text == recordButtonTextStop)
            {
                Bitmap snapshot = TakeSnapshot();
                try
                {
                    videoWriter.WriteVideoFrame(snapshot);
                    snapshot.Dispose();
                }
                catch
                {
                    //...
                }
            }

            // Exporting video
            if (tsbExportVideo.Text == saveButtonTextStop)
            {
                HotFrame frame = new HotFrame(this.CurrentTime);
                foreach (Form form in mainForm.MdiChildren)
                {
                    if ((!form.IsDisposed) && (form is IStreamWindow))
                    {
                        IStreamWindow streamWnd = form as IStreamWindow;
                        streamWnd.SetHotFrame(frame);
                    }
                }

                var annot = frame.Timestamp.ToString("HH_mm_ss_fff");
                MatlabExporter.ExportHotFrame(exportFolder, annot, frame, MatlabExporterOptions.Overwrite, mainForm.ConsoleLogger);
            }
        }