Example #1
0
        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();
                });
            };
        }
Example #3
0
        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));
            }
        }
Example #4
0
        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));
            }
        }