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."; } } }
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); }