private void _HandleDepthFrameReady(object sender, Microsoft.Kinect.DepthImageFrameReadyEventArgs args) { short[] frame; using (Microsoft.Kinect.DepthImageFrame kinect_frame = args.OpenDepthImageFrame()) { if (kinect_frame == null) { return; } frame = new short[kinect_frame.PixelDataLength]; kinect_frame.CopyPixelDataTo(frame); // Discard irrelevant data for (int i = 0; i < frame.Length; ++i) { frame[i] = (short)(frame[i] >> Microsoft.Kinect.DepthImageFrame.PlayerIndexBitmaskWidth); } // Convert to Rhapsody frame DepthFrame rhapsody_frame = new DepthFrame { Format = DepthImageFormat.Resolution640x480_30fps, Data = frame }; // Call all listeners foreach (Delegate d in this.DepthFrameReady.GetInvocationList()) { d.DynamicInvoke(new object[] { sender, new DepthFrameReadyEventArgs { Frame = rhapsody_frame } }); } } }
/// <summary> /// default constructor /// </summary> /// <param name="depthFrame">teh depthframe captured</param> public DepthEventArgs(Microsoft.Kinect.DepthImageFrame depthFrame) { this.depthFrame = depthFrame; }
/// <summary> /// default constructor /// </summary> /// <param name="depthFrame">teh depthframe captured</param> public DepthEventArgs(Microsoft.Kinect.DepthImageFrame depthFrame) { this.depthFrame = depthFrame; }