//Draw Color Frame public static void DrawColorFrame(TColorFrame colorData) { ColorBitmap.WritePixels( new Int32Rect(0, 0, ColorBitmap.PixelWidth, ColorBitmap.PixelHeight), colorData.ColorData, ColorBitmap.PixelWidth * sizeof(int), 0); }
public void TColorFrameHandler(object senderm, TColorFrame frame) { if (!ColorFrameActive) { return; } ColorFrameReady(this, frame); }
public void Play(Stream stream) { _lastFrameTime = 0; var reader = new BinaryReader(stream); _cancellationTokenSource = new CancellationTokenSource(); var cancelToken = _cancellationTokenSource.Token; Task.Factory.StartNew(() => { while (reader.BaseStream.Position != reader.BaseStream.Length) { var frameType = (TFrameType)reader.ReadInt32(); switch (frameType) { case TFrameType.TColorFrame: var colorFrame = new TColorFrame(); colorFrame.Read(reader); SpeedControll(colorFrame.Timestamp); ColorFrameReady(this, colorFrame); break; case TFrameType.TDepthFrame: var depthFrame = new TDepthFrame(); depthFrame.Read(reader); SpeedControll(depthFrame.Timestamp); DepthFrameReady(this, depthFrame); break; case TFrameType.TSkeletonFrame: var skeletonFrame = new TSkeletonFrame(); skeletonFrame.Read(reader); SpeedControll(skeletonFrame.Timestamp); SkeletonFrameReady(this, skeletonFrame); break; } } reader.Close(); reader.Dispose(); if (ReplayEnded != null) { ReplayEnded(this, "Ended"); } }, cancelToken); }
//In handlers public void SensorColorFrameHandler(object sender, ColorImageFrameReadyEventArgs e) { if (_isPlaying) { return; } if (!ColorFrameActive) { return; } var sensorFrame = e.OpenColorImageFrame(); if (sensorFrame != null) { var frame = new TColorFrame(sensorFrame); ColorFrameReady(this, frame); } }
public static void SensorColorFrameReady(object sender, TColorFrame colorFrame) { Context.Send((gui) => DrawColorFrame(colorFrame), null); }