Example #1
0
        private void cam_devices_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cam_devices.SelectedItem != null)
            {
                Size oldFrameSize    = new Size(0, 0);
                int  oldMaxFrameRate = 0;
                if (cam_capability.SelectedItem != null)
                {
                    oldFrameSize    = ((DeviceCapabilityInfo)cam_capability.SelectedItem).FrameSize;
                    oldMaxFrameRate = ((DeviceCapabilityInfo)cam_capability.SelectedItem).MaxFrameRate;
                }

                cam_capability.Items.Clear();

                int oldCapIndex          = -1;
                VideoCaptureDevice video = new VideoCaptureDevice(((DeviceInfo)cam_devices.SelectedItem).MonikerString);
                for (int i = 0; i < video.VideoCapabilities.Length; i++)
                {
                    VideoCapabilities    cap     = video.VideoCapabilities[i];
                    DeviceCapabilityInfo capInfo = new DeviceCapabilityInfo(cap.FrameSize, cap.MaxFrameRate);
                    cam_capability.Items.Add(capInfo);
                    if (oldFrameSize == capInfo.FrameSize && oldMaxFrameRate == capInfo.MaxFrameRate)
                    {
                        oldCapIndex = i;
                    }
                }

                if (oldCapIndex == -1)
                {
                    oldCapIndex = 0;
                }
                cam_capability.SelectedIndex = oldCapIndex;

                SelectCamera(((DeviceInfo)cam_devices.SelectedItem).Index);
            }
        }
Example #2
0
        private void cam_devices_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cam_devices.SelectedItem != null)
            {

                Size oldFrameSize = new Size(0, 0);
                int oldMaxFrameRate = 0;
                if (cam_capability.SelectedItem != null)
                {
                    oldFrameSize = ((DeviceCapabilityInfo)cam_capability.SelectedItem).FrameSize;
                    oldMaxFrameRate = ((DeviceCapabilityInfo)cam_capability.SelectedItem).MaxFrameRate;
                }

                cam_capability.Items.Clear();

                int oldCapIndex = -1;
                VideoCaptureDevice video = new VideoCaptureDevice(((DeviceInfo)cam_devices.SelectedItem).MonikerString);
                for (int i = 0; i < video.VideoCapabilities.Length; i++)
                {
                    VideoCapabilities cap = video.VideoCapabilities[i];
                    DeviceCapabilityInfo capInfo = new DeviceCapabilityInfo(cap.FrameSize, cap.MaxFrameRate);
                    cam_capability.Items.Add(capInfo);
                    if (oldFrameSize == capInfo.FrameSize && oldMaxFrameRate == capInfo.MaxFrameRate)
                        oldCapIndex = i;
                }

                if (oldCapIndex == -1)
                    oldCapIndex = 0;
                cam_capability.SelectedIndex = oldCapIndex;

                SelectCamera(((DeviceInfo)cam_devices.SelectedItem).Index);
            }
        }