VintaSoft Twain .NET SDK 14.1: Руководство для .NET разработчика
Vintasoft.WinTwain Namespace / Device Class / Capabilities Property
Синтаксис Exceptions Example Требования Смотрите также
В этом разделе
    Capabilities Свойство (Device)
    В этом разделе
    Возвращает набор возможностей устройства.
    Синтаксис
    'Declaration
    
    Public ReadOnly Property Capabilities As DeviceCapabilityCollection
    
    
    public DeviceCapabilityCollection Capabilities { get; }
    
    
    public: __property DeviceCapabilityCollection* get_Capabilities();
    
    
    
    public:
    property DeviceCapabilityCollection^ Capabilities { DeviceCapabilityCollection^ get(); }
    Исключения
    ИсключениеОписание
    Выбрасывается, если устройство находится в неправильном состоянии.
    Выбрасывается, если используется .NET отладчик и для оценки функции требуется, чтобы все потоки выполнялись.
    Пример

    Вот C#/VB.NET код, который демонстрирует, как получить информацию обо всех типах пикселей, поддерживаемых устройством.

    
    Public Shared Sub GetPixelTypesInfo()
            Using deviceManager As New Vintasoft.Twain.DeviceManager()
                    ' open the device manager
                    deviceManager.Open()
    
                    ' get reference to the default device
                    Dim device As Vintasoft.Twain.Device = deviceManager.DefaultDevice
    
                    ' open the device
                    device.Open()
    
                    ' get reference to object that manipulates IPixelType capability
                    Dim pixelTypeCap As Vintasoft.Twain.DeviceCapability = device.Capabilities.Find(Vintasoft.Twain.DeviceCapabilityId.IPixelType)
                    ' if IPixelType capability supported
                    If pixelTypeCap IsNot Nothing Then
                            ' get information about current, default and supported values of capability
                            Dim capValue As Vintasoft.Twain.TwainValueContainerBase = pixelTypeCap.GetValue()
    
                            Select Case capValue.ContainerType
                                    Case Vintasoft.Twain.TwainValueContainerType.[Enum]
                                            Dim capValueAsEnum As Vintasoft.Twain.TwainEnumValueContainer = DirectCast(capValue, Vintasoft.Twain.TwainEnumValueContainer)
                                            Dim enumValues As System.Array = capValueAsEnum.EnumValues
    
                                            ' output the capability values in human readable format
                                            System.Console.WriteLine(String.Format("Current pixel type: {0}", enumValues.GetValue(capValueAsEnum.ValueIndex)))
                                            System.Console.WriteLine(String.Format("Default pixel type: {0}", enumValues.GetValue(capValueAsEnum.DefaultValueIndex)))
                                            System.Console.Write("Supported pixel types:")
                                            For i As Integer = 0 To enumValues.Length - 1
                                                    System.Console.Write(String.Format(" {0}", enumValues.GetValue(i)))
                                            Next
                                            Exit Select
                            End Select
    
                            System.Console.WriteLine()
                    End If
    
                    ' close the device
                    device.Close()
    
                    ' close the device manager
                    deviceManager.Close()
            End Using
    End Sub
    
    
    
    public static void GetPixelTypesInfo()
    {
        using (Vintasoft.Twain.DeviceManager deviceManager = new Vintasoft.Twain.DeviceManager())
        {
            // open the device manager
            deviceManager.Open();
    
            // get reference to the default device
            Vintasoft.Twain.Device device = deviceManager.DefaultDevice;
    
            // open the device
            device.Open();
    
            // get reference to object that manipulates IPixelType capability
            Vintasoft.Twain.DeviceCapability pixelTypeCap = device.Capabilities.Find(Vintasoft.Twain.DeviceCapabilityId.IPixelType);
            // if IPixelType capability supported
            if (pixelTypeCap != null)
            {
                // get information about current, default and supported values of capability
                Vintasoft.Twain.TwainValueContainerBase capValue = pixelTypeCap.GetValue();
    
                switch (capValue.ContainerType)
                {
                    case Vintasoft.Twain.TwainValueContainerType.Enum:
                        Vintasoft.Twain.TwainEnumValueContainer capValueAsEnum = (Vintasoft.Twain.TwainEnumValueContainer)capValue;
                        System.Array enumValues = capValueAsEnum.EnumValues;
    
                        // output the capability values in human readable format
                        System.Console.WriteLine(string.Format("Current pixel type: {0}", enumValues.GetValue(capValueAsEnum.ValueIndex)));
                        System.Console.WriteLine(string.Format("Default pixel type: {0}", enumValues.GetValue(capValueAsEnum.DefaultValueIndex)));
                        System.Console.Write("Supported pixel types:");
                        for (int i = 0; i < enumValues.Length; i++)
                            System.Console.Write(string.Format(" {0}", enumValues.GetValue(i)));
                        break;
                }
    
                System.Console.WriteLine();
            }
    
            // close the device
            device.Close();
    
            // close the device manager
            deviceManager.Close();
        }
    }
    
    

    Требования

    Целевые платформы: .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

    Смотрите также