Пример #1
0
        private ArrayList GetIIDCSupportedVideoMode(ManagedCamera camera)
        {
            ArrayList supportedVideoMode = new ArrayList();

            for (VideoMode videoModeIterator = k_theFirstVideoMode;
                 videoModeIterator < VideoMode.NumberOfVideoModes; // VideoMode.NumberOfVideoModes is always the last element in the enum
                 videoModeIterator++)
            {
                if (videoModeIterator == VideoMode.VideoModeFormat7)
                {
                    //skip this video mode, it is for ManagedGigECamera (GEV)
                    continue;
                }

                for (FrameRate frameRateIterator = k_theFirstFrameRateType; frameRateIterator < FrameRate.NumberOfFrameRates; frameRateIterator++)
                {
                    bool supported = false;
                    if (frameRateIterator == FrameRate.FrameRateFormat7)
                    {
                        //skip this frame rate, it is for ManagedGigECamera (GEV)
                        continue;
                    }

                    try
                    {
                        supported = camera.GetVideoModeAndFrameRateInfo(videoModeIterator, frameRateIterator);
                    }
                    catch (FC2Exception ex)
                    {
                        string error = string.Format("Error querying video mode and frame rate {0}", ex.Message);
                        Console.WriteLine(error);
                        MessageBox.Show(error, "FlyCapture2 Camera Control", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        break;
                    }

                    if (supported)
                    {
                        supportedVideoMode.Add(videoModeIterator);
                        break;
                    }
                }
            }

            return(supportedVideoMode);
        }
Пример #2
0
        private FrameRate UpdateCurrentAvailableFrameRate(VideoMode currentVideoMode)
        {
            //this function will return the current fastest frame rate for this video mode
            ManagedCamera camera           = (ManagedCamera)m_camera;
            FrameRate     fastestFrameRate = FrameRate.NumberOfFrameRates;

            for (int i = 0; i < m_frameRateRadioButton.Length; i++)
            {
                if (m_frameRateRadioButton[i] == null)
                {
                    //skip unmapped radio buttons
                    continue;
                }

                bool      supported        = false;
                FrameRate currentFrameRate = (FrameRate)m_frameRateRadioButton[i].Tag;
                try
                {
                    supported = camera.GetVideoModeAndFrameRateInfo(currentVideoMode, currentFrameRate);
                }
                catch (FC2Exception ex)
                {
                    string error = string.Format("Error querying video mode and frame rate {0}", ex.Message);
                    Console.WriteLine(error);
                    MessageBox.Show(error, "FlyCapture2 Camera Control", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    break;
                }

                if (supported)
                {
                    m_frameRateRadioButton[i].Visible = true;
                    fastestFrameRate = currentFrameRate;
                }
                else
                {
                    m_frameRateRadioButton[i].Visible = false;
                }
            }

            return(fastestFrameRate);
        }