Exemplo n.º 1
0
        /// <summary>
        /// Handles the FrameAvailable event of the Camera control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="CameraFrameEventArgs"/> instance containing the event data.</param>
        /// <exception cref="NotImplementedException"></exception>
        void Camera_FrameAvailable(object sender, CameraFrameEventArgs e)
        {
            var frameinfo = e.Value;

            if (frameinfo.View != View)
            {
                return;
            }

            PXCMImage.PixelFormat format;

            Dispatcher.Invoke(() =>
            {
                switch (View)
                {
                //case CameraViews.Colour: format = PXCMImage.PixelFormat.PIXEL_FORMAT_RGB32; break;
                //case CameraViews.Depth: format = PXCMImage.PixelFormat.PIXEL_FORMAT_DEPTH; break;
                //case CameraViews.Infrared: format = PXCMImage.PixelFormat.PIXEL_FORMAT_Y8; break;
                default: format = PXCMImage.PixelFormat.PIXEL_FORMAT_RGB32; break;
                }

                PXCMImage.ImageData data;
                var image = frameinfo.SourceFrame as PXCMImage;
                image.AcquireAccess(PXCMImage.Access.ACCESS_READ, format, out data);
                Source = data.ToWritableBitmap(image.info.width, image.info.height, 72, 72);
                image.ReleaseAccess(data);
            });
        }
Exemplo n.º 2
0
        /// <summary>
        /// Handles the FrameAvailable event of the Camera control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="CameraFrameEventArgs"/> instance containing the event data.</param>
        /// <exception cref="NotImplementedException"></exception>
        void Camera_FrameAvailable(object sender, CameraFrameEventArgs e)
        {
            var frameinfo = e.Value;
            if (frameinfo.View != View)
                return;

            PXCMImage.PixelFormat format;

            Dispatcher.Invoke(() =>
            {
                switch(View)
                {
                    //case CameraViews.Colour: format = PXCMImage.PixelFormat.PIXEL_FORMAT_RGB32; break;
                    //case CameraViews.Depth: format = PXCMImage.PixelFormat.PIXEL_FORMAT_DEPTH; break;
                    //case CameraViews.Infrared: format = PXCMImage.PixelFormat.PIXEL_FORMAT_Y8; break;
                    default: format = PXCMImage.PixelFormat.PIXEL_FORMAT_RGB32; break;
                }

                PXCMImage.ImageData data;
                var image = frameinfo.SourceFrame as PXCMImage;
                image.AcquireAccess(PXCMImage.Access.ACCESS_READ, format, out data);
                Source = data.ToWritableBitmap(image.info.width, image.info.height, 72, 72);
                image.ReleaseAccess(data);
            });
        }
Exemplo n.º 3
0
 protected void OnCameraFrame(CameraFrameEventArgs args)
 {
     var cameraFrame = CameraFrame;
     if (cameraFrame != null)
     {
         cameraFrame(this, args);
     }
 }
Exemplo n.º 4
0
 /// <summary>
 /// Handles the FrameAvailable event of the Camera control.
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="CameraFrameEventArgs"/> instance containing the event data.</param>
 private void Camera_FrameAvailable(object sender, CameraFrameEventArgs e)
 {
     var frame = Camera.GetRawFrame(e.Value.SourceFrame);
     _video.WriteFrame(true, frame, 0, frame.Length);
 }