Capabilities Свойство (Device)
Возвращает набор возможностей устройства.
Вот 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