VintaSoft Imaging .NET SDK v8.7
Vintasoft.Imaging.Media Namespace / DirectShowCameraControlProperties Class
Members Example



In This Topic
    DirectShowCameraControlProperties Class
    In This Topic
    Provides access to the camera control properties of camera.
    Object Model
    DirectShowCameraControlProperties ClassDirectShowCameraControlPropertyValue StructureDirectShowCameraControlPropertyValue StructureDirectShowCameraControlPropertyValue StructureDirectShowCameraControlPropertyValue StructureDirectShowCameraControlPropertyValue StructureDirectShowCameraControlPropertyValue StructureDirectShowCameraControlPropertyValue Structure
    Syntax
    'Declaration
     
    Public Class DirectShowCameraControlProperties 
    public class DirectShowCameraControlProperties 
    public __gc class DirectShowCameraControlProperties 
    public ref class DirectShowCameraControlProperties 
    Example
    This example shows how to get and set the camera control properties of DirectShow camera:
    ''' <summary>
    ''' Gets and sets the camera control properties of DirectShow camera.
    ''' </summary>
    Public Shared Sub GetAndSetCameraControlProperties()
    	' get a list of installed cameras
    	Dim captureDevices As System.Collections.ObjectModel.ReadOnlyCollection(Of Vintasoft.Imaging.Media.ImageCaptureDevice) = Vintasoft.Imaging.Media.ImageCaptureDeviceConfiguration.GetCaptureDevices()
                
    	' if cameras are not found
    	If captureDevices.Count = 0 Then
    		System.Console.WriteLine("No connected devices.")
    		Return
    	End If
                
    	' get the first available camera
    	Dim camera As Vintasoft.Imaging.Media.DirectShowCamera = DirectCast(captureDevices(0), Vintasoft.Imaging.Media.DirectShowCamera)
    	' output camera name
    	System.Console.WriteLine(camera.FriendlyName)
                
                
    	Dim propertyValue As Vintasoft.Imaging.Media.DirectShowCameraControlPropertyValue
    	Dim minValue As Integer, maxValue As Integer, [step] As Integer, defaultValue As Integer
                
    	System.Console.WriteLine(" - Exposure")
    	Try
    		' get supported values
    		camera.CameraControl.GetSupportedExposureValues(minValue, maxValue, [step], defaultValue)
    		System.Console.WriteLine(String.Format("   - Supported values: Min={0}, Max={1}, Step={2}, Default={3}", minValue, maxValue, [step], defaultValue))
                
    		' get current value
    		propertyValue = camera.CameraControl.Exposure
    		System.Console.WriteLine(String.Format("   - Current value: {0}", propertyValue.Value))
                
    		' set current value
    		camera.CameraControl.Exposure = propertyValue
    	Catch ex As System.Exception
    		System.Console.WriteLine("    {0}", ex.Message)
    	End Try
                
    	System.Console.WriteLine(" - Focus")
    	Try
    		' get supported values
    		camera.CameraControl.GetSupportedFocusValues(minValue, maxValue, [step], defaultValue)
    		System.Console.WriteLine(String.Format("   - Supported values: Min={0}, Max={1}, Step={2}, Default={3}", minValue, maxValue, [step], defaultValue))
                
    		' get current value
    		propertyValue = camera.CameraControl.Focus
    		System.Console.WriteLine(String.Format("   - Current value: {0}", propertyValue.Value))
                
    		' set current value
    		camera.CameraControl.Focus = propertyValue
    	Catch ex As System.Exception
    		System.Console.WriteLine("    {0}", ex.Message)
    	End Try
                
    	System.Console.WriteLine(" - Iris")
    	Try
    		' get supported values
    		camera.CameraControl.GetSupportedIrisValues(minValue, maxValue, [step], defaultValue)
    		System.Console.WriteLine(String.Format("   - Supported values: Min={0}, Max={1}, Step={2}, Default={3}", minValue, maxValue, [step], defaultValue))
                
    		' get current value
    		propertyValue = camera.CameraControl.Iris
    		System.Console.WriteLine(String.Format("   - Current value: {0}", propertyValue.Value))
                
    		' set current value
    		camera.CameraControl.Iris = propertyValue
    	Catch ex As System.Exception
    		System.Console.WriteLine("    {0}", ex.Message)
    	End Try
                
    	System.Console.WriteLine(" - Pan")
    	Try
    		' get supported values
    		camera.CameraControl.GetSupportedPanValues(minValue, maxValue, [step], defaultValue)
    		System.Console.WriteLine(String.Format("   - Supported values: Min={0}, Max={1}, Step={2}, Default={3}", minValue, maxValue, [step], defaultValue))
                
    		' get current value
    		propertyValue = camera.CameraControl.Pan
    		System.Console.WriteLine(String.Format("   - Current value: {0}", propertyValue.Value))
                
    		' set current value
    		camera.CameraControl.Pan = propertyValue
    	Catch ex As System.Exception
    		System.Console.WriteLine("    {0}", ex.Message)
    	End Try
                
    	System.Console.WriteLine(" - Roll")
    	Try
    		' get supported values
    		camera.CameraControl.GetSupportedRollValues(minValue, maxValue, [step], defaultValue)
    		System.Console.WriteLine(String.Format("   - Supported values: Min={0}, Max={1}, Step={2}, Default={3}", minValue, maxValue, [step], defaultValue))
                
    		' get current value
    		propertyValue = camera.CameraControl.Roll
    		System.Console.WriteLine(String.Format("   - Current value: {0}", propertyValue.Value))
                
    		' set current value
    		camera.CameraControl.Roll = propertyValue
    	Catch ex As System.Exception
    		System.Console.WriteLine("    {0}", ex.Message)
    	End Try
                
    	System.Console.WriteLine(" - Tilt")
    	Try
    		' get supported values
    		camera.CameraControl.GetSupportedTiltValues(minValue, maxValue, [step], defaultValue)
    		System.Console.WriteLine(String.Format("   - Supported values: Min={0}, Max={1}, Step={2}, Default={3}", minValue, maxValue, [step], defaultValue))
                
    		' get current value
    		propertyValue = camera.CameraControl.Tilt
    		System.Console.WriteLine(String.Format("   - Current value: {0}", propertyValue.Value))
                
    		' set current value
    		camera.CameraControl.Tilt = propertyValue
    	Catch ex As System.Exception
    		System.Console.WriteLine("    {0}", ex.Message)
    	End Try
                
    	System.Console.WriteLine(" - Zoom")
    	Try
    		' get supported values
    		camera.CameraControl.GetSupportedZoomValues(minValue, maxValue, [step], defaultValue)
    		System.Console.WriteLine(String.Format("   - Supported values: Min={0}, Max={1}, Step={2}, Default={3}", minValue, maxValue, [step], defaultValue))
                
    		' get current value
    		propertyValue = camera.CameraControl.Zoom
    		System.Console.WriteLine(String.Format("   - Current value: {0}", propertyValue.Value))
                
    		' set current value
    		camera.CameraControl.Zoom = propertyValue
    	Catch ex As System.Exception
    		System.Console.WriteLine("    {0}", ex.Message)
    	End Try
    End Sub
    /// <summary>
    /// Gets and sets the camera control properties of DirectShow camera.
    /// </summary>
    public static void GetAndSetCameraControlProperties()
    {
        // get a list of installed cameras
        System.Collections.ObjectModel.ReadOnlyCollection<Vintasoft.Imaging.Media.ImageCaptureDevice> captureDevices = 
            Vintasoft.Imaging.Media.ImageCaptureDeviceConfiguration.GetCaptureDevices();
                
        // if cameras are not found
        if (captureDevices.Count == 0)
        {
            System.Console.WriteLine("No connected devices.");
            return;
        }
                
        // get the first available camera
        Vintasoft.Imaging.Media.DirectShowCamera camera = (Vintasoft.Imaging.Media.DirectShowCamera)captureDevices[0];
        // output camera name
        System.Console.WriteLine(camera.FriendlyName);
                
                
        Vintasoft.Imaging.Media.DirectShowCameraControlPropertyValue propertyValue;
        int minValue, maxValue, step, defaultValue;
                
        System.Console.WriteLine(" - Exposure");
        try
        {
            // get supported values
            camera.CameraControl.GetSupportedExposureValues(out minValue, out maxValue, out step, out defaultValue);
            System.Console.WriteLine(string.Format("   - Supported values: Min={0}, Max={1}, Step={2}, Default={3}", 
                minValue, maxValue, step, defaultValue));
                
            // get current value
            propertyValue = camera.CameraControl.Exposure;
            System.Console.WriteLine(string.Format("   - Current value: {0}", propertyValue.Value));
                
            // set current value
            camera.CameraControl.Exposure = propertyValue;
        }
        catch (System.Exception ex)
        {
            System.Console.WriteLine("    {0}", ex.Message);
        }
                
        System.Console.WriteLine(" - Focus");
        try
        {
            // get supported values
            camera.CameraControl.GetSupportedFocusValues(out minValue, out maxValue, out step, out defaultValue);
            System.Console.WriteLine(string.Format("   - Supported values: Min={0}, Max={1}, Step={2}, Default={3}", 
                minValue, maxValue, step, defaultValue));
                
            // get current value
            propertyValue = camera.CameraControl.Focus;
            System.Console.WriteLine(string.Format("   - Current value: {0}", propertyValue.Value));
                
            // set current value
            camera.CameraControl.Focus = propertyValue;
        }
        catch (System.Exception ex)
        {
            System.Console.WriteLine("    {0}", ex.Message);
        }
                
        System.Console.WriteLine(" - Iris");
        try
        {
            // get supported values
            camera.CameraControl.GetSupportedIrisValues(out minValue, out maxValue, out step, out defaultValue);
            System.Console.WriteLine(string.Format("   - Supported values: Min={0}, Max={1}, Step={2}, Default={3}", 
                minValue, maxValue, step, defaultValue));
                
            // get current value
            propertyValue = camera.CameraControl.Iris;
            System.Console.WriteLine(string.Format("   - Current value: {0}", propertyValue.Value));
                
            // set current value
            camera.CameraControl.Iris = propertyValue;
        }
        catch (System.Exception ex)
        {
            System.Console.WriteLine("    {0}", ex.Message);
        }
                
        System.Console.WriteLine(" - Pan");
        try
        {
            // get supported values
            camera.CameraControl.GetSupportedPanValues(out minValue, out maxValue, out step, out defaultValue);
            System.Console.WriteLine(string.Format("   - Supported values: Min={0}, Max={1}, Step={2}, Default={3}", 
                minValue, maxValue, step, defaultValue));
                
            // get current value
            propertyValue = camera.CameraControl.Pan;
            System.Console.WriteLine(string.Format("   - Current value: {0}", propertyValue.Value));
                
            // set current value
            camera.CameraControl.Pan = propertyValue;
        }
        catch (System.Exception ex)
        {
            System.Console.WriteLine("    {0}", ex.Message);
        }
                
        System.Console.WriteLine(" - Roll");
        try
        {
            // get supported values
            camera.CameraControl.GetSupportedRollValues(out minValue, out maxValue, out step, out defaultValue);
            System.Console.WriteLine(string.Format("   - Supported values: Min={0}, Max={1}, Step={2}, Default={3}", 
                minValue, maxValue, step, defaultValue));
                
            // get current value
            propertyValue = camera.CameraControl.Roll;
            System.Console.WriteLine(string.Format("   - Current value: {0}", propertyValue.Value));
                
            // set current value
            camera.CameraControl.Roll = propertyValue;
        }
        catch (System.Exception ex)
        {
            System.Console.WriteLine("    {0}", ex.Message);
        }
                
        System.Console.WriteLine(" - Tilt");
        try
        {
            // get supported values
            camera.CameraControl.GetSupportedTiltValues(out minValue, out maxValue, out step, out defaultValue);
            System.Console.WriteLine(string.Format("   - Supported values: Min={0}, Max={1}, Step={2}, Default={3}", 
                minValue, maxValue, step, defaultValue));
                
            // get current value
            propertyValue = camera.CameraControl.Tilt;
            System.Console.WriteLine(string.Format("   - Current value: {0}", propertyValue.Value));
                
            // set current value
            camera.CameraControl.Tilt = propertyValue;
        }
        catch (System.Exception ex)
        {
            System.Console.WriteLine("    {0}", ex.Message);
        }
                
        System.Console.WriteLine(" - Zoom");
        try
        {
            // get supported values
            camera.CameraControl.GetSupportedZoomValues(out minValue, out maxValue, out step, out defaultValue);
            System.Console.WriteLine(string.Format("   - Supported values: Min={0}, Max={1}, Step={2}, Default={3}", 
                minValue, maxValue, step, defaultValue));
                
            // get current value
            propertyValue = camera.CameraControl.Zoom;
            System.Console.WriteLine(string.Format("   - Current value: {0}", propertyValue.Value));
                
            // set current value
            camera.CameraControl.Zoom = propertyValue;
        }
        catch (System.Exception ex)
        {
            System.Console.WriteLine("    {0}", ex.Message);
        }
    }
    Inheritance Hierarchy

    System.Object
       Vintasoft.Imaging.Media.DirectShowCameraControlProperties

    Requirements

    Target Platforms: Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, Windows Server 2012, Windows Server 2008, Windows Server 2003

    See Also