VintaSoft Twain .NET SDK 15.4: Руководство для .NET разработчика
Vintasoft.Twain Namespace / Device Class / Capabilities Property
Синтаксис Exceptions Example Требования Смотрите также
В этом разделе
Capabilities Свойство (Device)
В этом разделе
Возвращает набор возможностей устройства.
Синтаксис
'Declaration

Public ReadOnly Property Capabilities As DeviceCapabilityCollection

public DeviceCapabilityCollection Capabilities { 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 10; .NET 9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

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