public void AddColorFrame(BitmapSource bitmap) { if (this.isRecording) { _Frame frame; TimeSpan timeWithPreviousFrame; DateTime now = DateTime.Now; TimeSpan timeSpan = now.Subtract(this.StartDate); string path = this.GetColorFramePath() + now.GetStringTime() + ".jpg"; if (this.previousFrame == null) { timeWithPreviousFrame = timeSpan; } else { timeWithPreviousFrame = timeSpan.Subtract(this.previousFrame.Time); } frame = new _Frame(bitmap.Clone(), path, timeSpan, timeWithPreviousFrame, _Frame.FrameType.Color); this.previousFrame = frame; frames.Add(frame); //bitmap.ToImageFile(path); } }
internal void AddBodyFrame(DrawingImage drawingImage) { if (this.isRecording) { //DateTime now = DateTime.Now; //TimeSpan timeSpan = this.StartDate.Subtract(now); //string path = this.GetBodyFramePath() + now.GetStringTime() + ".png"; //RenderTargetBitmap bitmap = drawingImage.ToBitmap(); //frames.Add(new Frame(bitmap.Clone(), path, timeSpan, Frame.FrameType.Body)); ////bitmap.ToImageFile(path); _Frame frame; TimeSpan timeWithPreviousFrame; DateTime now = DateTime.Now; TimeSpan timeSpan = now.Subtract(this.StartDate); string path = this.GetColorFramePath() + now.GetStringTime() + ".png"; if (this.previousFrame == null) { timeWithPreviousFrame = timeSpan; } else { timeWithPreviousFrame = timeSpan.Subtract(this.previousFrame.Time); } RenderTargetBitmap bitmap = drawingImage.ToBitmap(); frame = new _Frame(bitmap.Clone(), path, timeSpan, timeWithPreviousFrame, _Frame.FrameType.Body); this.previousFrame = frame; frames.Add(frame); //bitmap.ToImageFile(path); } }
public void StartPlaying() { //playerWorker.RunWorkerAsync(); Console.WriteLine("Playing..."); this.isPlaying = true; _Frame bodyFrame = frames.First(x => x.Type == _Frame.FrameType.Body); _Frame colorFrame = frames.First(x => x.Type == _Frame.FrameType.Color); _VisualizerXamlView.Instance().SetBodyFrame(bodyFrame.Bitmap); _VisualizerXamlView.Instance().SetColorFrame(colorFrame.Bitmap); //VisualizerXamlView view = VisualizerXamlView.Instance(); //foreach (Frame frame in frames) //{ // if (frame.Type == Frame.FrameType.Body) // { // view.SetBodyFrame(frame.Bitmap); // //Utils.RunActionAfter(view.SetBodyFrame, frame.Bitmap, frame.timeWithPrevFrame); // } // else if (frame.Type == Frame.FrameType.Color) // { // view.SetColorFrame(frame.Bitmap); // //Utils.RunActionAfter(view.SetBodyFrame, frame.Bitmap, frame.timeWithPrevFrame); // } // int millis = (int)frame.timeWithPrevFrame.TotalMilliseconds; // Console.WriteLine("waiting " + millis); // Thread.Sleep(millis); //} }
public _Escena() { isRecordedOrImported = false; isRecording = false; previousFrame = null; playerWorker.WorkerReportsProgress = false; playerWorker.WorkerSupportsCancellation = true; playerWorker.DoWork += new DoWorkEventHandler(this.bw_DoWork_StartPlaying); //playerWorker.ProgressChanged += new ProgressChangedEventHandler(bw_ProgressChanged); //playerWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted); }