/// <summary> /// 深度カメラのデータ更新イベントハンドラ /// </summary> /// <param name="sender">イベント送信元</param> /// <param name="e">イベント引数</param> void kinectManager_DepthUpdate(object sender, DepthUpdateEventArgs e) { _depthSource = null; if (!_cameraOptions.DepthDrawEnable) { return; } DepthImageFrame depthFrame = e.DepthFrame; _depthSource = BitmapSource.Create( depthFrame.Width, depthFrame.Height, 96, 96, PixelFormats.Bgr32, null, _ConvertDepthColor(e.Kinect, depthFrame), depthFrame.Width * Bgr32BytesPerPixel ); }
/// <summary> /// 深度カメラフレーム更新イベントハンドラ /// </summary> /// <param name="sender">イベント送信元</param> /// <param name="e">イベント引数</param> private void _kinect_DepthFrameReady(object sender, DepthImageFrameReadyEventArgs e) { if (!_drawEnable) { return; } KinectSensor kinect = sender as KinectSensor; if (kinect == null) { return; } // 距離カメラのフレームデータを取得する using (DepthImageFrame depthFrame = e.OpenDepthImageFrame()) { if (depthFrame == null) { return; } EventHandler<DepthUpdateEventArgs> eventHandler = DepthUpdate; if (eventHandler != null) { DepthUpdateEventArgs args = new DepthUpdateEventArgs(); args.Kinect = kinect; args.DepthFrame = depthFrame; eventHandler(this, args); } } }
/// <summary> /// 深度カメラのデータ更新イベントハンドラ /// </summary> /// <param name="sender">イベント送信元</param> /// <param name="e">イベント引数</param> private void _kinectManager_DepthUpdate(object sender, DepthUpdateEventArgs e) { RaisePropertyChanged("DepthSource"); }