Capabilities Property (Device)
Gets the collection of the device capabilities.
This example shows how to get information about all pixel types supported by the device.
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 Array = capValueAsEnum.EnumValues
' output the capability values in human readable format
Console.WriteLine(String.Format("Current pixel type: {0}", enumValues.GetValue(capValueAsEnum.ValueIndex)))
Console.WriteLine(String.Format("Default pixel type: {0}", enumValues.GetValue(capValueAsEnum.DefaultValueIndex)))
Console.Write("Supported pixel types:")
For i As Integer = 0 To enumValues.Length - 1
Console.Write(String.Format(" {0}", enumValues.GetValue(i)))
Next
Exit Select
End Select
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();
}
}
Target Platforms: .NET 7; .NET 6; .NET 5; .NET Core 3.1; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5