partial void BtnShutter_TouchUpInside(UIButton sender) { var Settings = new AVCaptureBracketedStillImageSettings[] { AVCaptureAutoExposureBracketedStillImageSettings.Create(0f) }; // Tell the camera that we are getting ready to do a bracketed capture ThisApp.StillImageOutput.PrepareToCaptureStillImageBracket(ThisApp.StillImageOutput.Connections[0], Settings, (ready, err) => { // Was there an error, if so report it if (err != null) { Console.WriteLine("Error: {0}", err.LocalizedDescription); } }); // Ask the camera to snap a bracketed capture ThisApp.StillImageOutput.CaptureStillImageBracket(ThisApp.StillImageOutput.Connections[0], Settings, (sampleBuffer, settings, err) => { // Convert raw image stream into a Core Image Image var imageData = AVCaptureStillImageOutput.JpegStillToNSData(sampleBuffer); var image = CIImage.FromData(imageData); // Display the resulting image imageArray.Add(UIImage.FromImage(image)); btnCheck.Hidden = false; lblCount.Hidden = false; lblCount.Text = imageArray.Count.ToString(); }); }
/// <summary> /// Views the did load. /// </summary> public override void ViewDidLoad() { base.ViewDidLoad(); // Hide no camera label NoCamera.Hidden = ThisApp.CameraAvailable; // Attach to camera view ThisApp.Recorder.DisplayView = CameraView; // Setup scrolling area ScrollView.ContentSize = new CGSize(CameraView.Frame.Width * 4, CameraView.Frame.Height); // Add output views Output.Add(BuildOutputView(1)); Output.Add(BuildOutputView(2)); Output.Add(BuildOutputView(3)); // Create preset settings var Settings = new AVCaptureBracketedStillImageSettings[] { AVCaptureAutoExposureBracketedStillImageSettings.Create(-2.0f), AVCaptureAutoExposureBracketedStillImageSettings.Create(0.0f), AVCaptureAutoExposureBracketedStillImageSettings.Create(2.0f) }; // Wireup capture button CaptureButton.TouchUpInside += (sender, e) => { // Reset output index OutputIndex = 0; // Tell the camera that we are getting ready to do a bracketed capture ThisApp.StillImageOutput.PrepareToCaptureStillImageBracket(ThisApp.StillImageOutput.Connections[0], Settings, (bool ready, NSError err) => { // Was there an error, if so report it if (err != null) { Console.WriteLine("Error: {0}", err.LocalizedDescription); } }); // Ask the camera to snap a bracketed capture ThisApp.StillImageOutput.CaptureStillImageBracket(ThisApp.StillImageOutput.Connections[0], Settings, (sampleBuffer, settings, err) => { // Convert raw image stream into a Core Image Image var imageData = AVCaptureStillImageOutput.JpegStillToNSData(sampleBuffer); var image = CIImage.FromData(imageData); // Display the resulting image Output[OutputIndex++].Image = UIImage.FromImage(image); // IMPORTANT: You must release the buffer because AVFoundation has a fixed number // of buffers and will stop delivering frames if it runs out. sampleBuffer.Dispose(); }); }; }
public void TestConstructor() { TestRuntime.AssertXcodeVersion(8, 0); AVCaptureAutoExposureBracketedStillImageSettings [] array = new AVCaptureAutoExposureBracketedStillImageSettings [3]; array [0] = AVCaptureAutoExposureBracketedStillImageSettings.Create(-2f); array [1] = AVCaptureAutoExposureBracketedStillImageSettings.Create(0f); array [2] = AVCaptureAutoExposureBracketedStillImageSettings.Create(2f); var output = new AVCapturePhotoOutput(); if (output.AvailablePhotoPixelFormatTypes.Length > 0) { using (var settings = AVCapturePhotoBracketSettings.FromRawPixelFormatType((uint)output.AvailablePhotoPixelFormatTypes [0], null, array)) Assert.That(settings.Handle, Is.Not.EqualTo(IntPtr.Zero)); } }
public void TestConstructor() { TestRuntime.AssertXcodeVersion(8, 0); var output = new AVCapturePhotoOutput(); if (output.AvailablePhotoPixelFormatTypes.Length > 0 && output.MaxBracketedCapturePhotoCount > 0) { var array = new AVCaptureAutoExposureBracketedStillImageSettings [Math.Min(3, (int)output.MaxBracketedCapturePhotoCount)]; for (var i = 0; i < array.Length; i++) { array [i] = AVCaptureAutoExposureBracketedStillImageSettings.Create(-2f + 2f * i); } using (var settings = AVCapturePhotoBracketSettings.FromRawPixelFormatType((uint)output.AvailablePhotoPixelFormatTypes [0], null, array)) Assert.That(settings.Handle, Is.Not.EqualTo(IntPtr.Zero)); } }