示例#1
0
 private void Click_CompassOnOff(object sender, EventArgs e)
 {
     if (compas_running == true)
     {
         if (camera_running == true)
         {
             try
             {
                 Camera_Source.CaptureImageAvailable += new System.EventHandler <ContentReadyEventArgs>(Camera_Image_Available);
                 Camera_Source.FlashMode              = FlashMode.Off;
                 Camera_Source.CaptureImage();
             }
             catch (InvalidOperationException)
             {
                 MessageBox.Show(" La caméra n'a pas eu le temps de s'initialiser.");
             }
         }
         Boussolle_Get_Timer.Stop();
         Accelerometre_Get_Timer.Stop();
         etat_TextBlock.Text = " Pause";
         compas_running      = false;
     }
     else
     {
         if (Boussolle_Get_Timer == null)
         {
             Boussolle_Get_Timer = new Compass();
             Boussolle_Get_Timer.TimeBetweenUpdates   = TimeSpan.FromMilliseconds(timer_get);
             Boussolle_Get_Timer.CurrentValueChanged += new EventHandler <SensorReadingEventArgs <CompassReading> >(Boussolle_ValueChanged);
             Boussolle_Get_Timer.Calibrate           += new EventHandler <CalibrationEventArgs>(Calibration_Start);
         }
         try
         {
             etat_TextBlock.Text = " Démarrage...";
             Boussolle_Get_Timer.Start();
             Accelerometre_Get_Timer = new Accelerometer();
             Accelerometre_Get_Timer.CurrentValueChanged += new EventHandler <SensorReadingEventArgs <AccelerometerReading> >(Orientation_ValueChanged);
             Accelerometre_Get_Timer.Start();
             Accelerometre_Get_Timer = new Accelerometer();
             Accelerometre_Get_Timer.CurrentValueChanged += new EventHandler <SensorReadingEventArgs <AccelerometerReading> >(Orientation_ValueChanged);
             Accelerometre_Get_Timer.Start();
             compas_running = true;
             //MessageBox.Show("Reel : " + Boussolle_Get_Timer.TimeBetweenUpdates.TotalMilliseconds + "ms \nPrevu : " + timer_get + "ms \nDisplay : " + timer_display + "ms"); //timer affichage
             if (camera_running == false && camera_ison == true)
             {
                 Camera_Ellipse.Fill = Camera_Brush;
                 Camera_Source       = new PhotoCamera(CameraType.Primary);
                 Camera_Brush.SetSource(Camera_Source);
                 camera_running        = true;
                 Image_Ellipse.Opacity = 0;
             }
         }
         catch (InvalidOperationException)
         {
             etat_TextBlock.Text = " Erreur.";
         }
     }
 }
示例#2
0
        private void Click_CameraOnOff(object sender, EventArgs e)
        {
            DispatcherTimer Compas_Circle_Timer = new DispatcherTimer();

            Compas_Circle_Timer.Interval = TimeSpan.FromMilliseconds(1000);
            Compas_Circle_Timer.Tick    +=
                delegate(object s, EventArgs args)
            {
                cross_int1.Opacity        = 1;
                cross_int2.Opacity        = 1;
                cercle_int_Circle.Opacity = 1;
                Compas_Circle_Timer.Stop();
            };

            if (capture_running == true)
            {
                Image_Ellipse.Opacity = 0;
                capture_running       = false;
            }
            if (camera_running == false)
            {
                Compas_Circle_Timer.Start();
                Camera_Ellipse.Fill = Camera_Brush;
                Camera_Source       = new PhotoCamera(CameraType.Primary);
                Camera_Brush.SetSource(Camera_Source);
                camera_running = true;
                camera_ison    = true;
            }
            else
            {
                Compas_Circle_Timer.Stop();
                Camera_Source.Dispose();
                //Camera_Ellipse.Fill = new SolidColorBrush(Colors.Black);
                cross_int1.Opacity        = 0;
                cross_int2.Opacity        = 0;
                cercle_int_Circle.Opacity = 0;
                camera_running            = false;
                camera_ison = false;
            }


            //Camera_Source.AvailableResolutions
            //Camera_Source.Resolution.Height
            //Camera_Brush_Transform.ScaleX = 2;
            //Camera_Brush_Transform.ScaleY = 2;

            //private void OnButtonFullPress(object sender, EventArgs e)
            //{
            //    if (cam != null)
            //    {
            //        cam.CaptureImage();
            //    }
            //}

            //Camera_Brush.SetSource(cameraoff);

            // Release memory, ensure garbage collection.
            //Camera_Source.Initialized -= cam_Initialized;
            //Camera_Brush.SetSource(Camera_Source.CaptureImage);
            //Camera_Ellipse.Fill = Camera_Source.CaptureImage;
            // ImageBrush Camera_Brush_Image = Camera_Source.GetPreviewBufferArgb32;
            //Camera_Brush.SetSource(Camera_Source.GetPreviewBufferArgb32);
            // mettre a off Camera_Brush.SetSource(Camera_Source);
        }