示例#1
0
 //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);
 }
示例#2
0
        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);
        }
示例#3
0
文件: TKinect.cs 项目: Styrna/TKinect
 public void TColorFrameHandler(object senderm, TColorFrame frame)
 {
     if (!ColorFrameActive) return;
     ColorFrameReady(this, frame);
 }
示例#4
0
文件: TKinect.cs 项目: Styrna/TKinect
        //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);
            }
        }
示例#5
0
 public static void SensorColorFrameReady(object sender, TColorFrame colorFrame)
 {
     Context.Send((gui) => DrawColorFrame(colorFrame), null);
 }