Exemple #1
0
        private void AutoExpose_Click(object sender, RoutedEventArgs e)
        {
            bool bStopped = false;

            float[] parameters1 = new float[1];
            float[] parameters2 = new float[4];
            if (!cam.FeatureSupportsFlag((int)Feature.Shutter, FEATURE_FLAG_SETTABLE_WHILE_STREAMING))
            {
                cam.StopCamera();
                bStopped = true;
            }
            parameters1[0] = 0;
            cam.SetFeature(Feature.Shutter, parameters1, FeatureFlags.OnePush);
            //Auto exposure call
            cam.SetFeature(Feature.Shutter, parameters1, FeatureFlags.OnePush);
            // Get current Exposure after auto exposure
            //           ReturnCode rc = cam.GetFeatureByParms(Feature.Shutter, ref flags, ref parms);
            Mouse.OverrideCursor = Cursors.Wait;
            cam.WaitForAutoToComplete(Feature.Shutter, ref parms);
            Mouse.OverrideCursor = null;
            float expTime = parms[0] * 1000; //convert to ms

            Exposure.Value   = (int)expTime;
            ExposureSet.Text = expTime.ToString();
            ReturnCode rc = cam.GetFeatureByParms(Feature.ActualFrameRate, ref flags, ref parms);

            actualframerate.Content = string.Format("Actual frame rate {0}", parms[0].ToString());

            if (bStopped == true)
            {
                cam.StartCamera();
            }
        }