VintaSoft Twain .NET SDK v10.2
AcquiredImage Class
Members  Example 




Vintasoft.Twain Namespace : AcquiredImage Class
Class that represents an image acquired from TWAIN device.
Object Model
AcquiredImage ClassImageInfo Class
Syntax
'Declaration
 
<ComVisibleAttribute(True)>
Public NotInheritable Class AcquiredImage 
'Usage
 
Dim instance As AcquiredImage
[ComVisible(true)]
public sealed class AcquiredImage 
[ComVisible(true)]
public __gc __sealed class AcquiredImage 
[ComVisible(true)]
public ref class AcquiredImage sealed 
Example
This example shows how to acquire images from the device, process images and save to a multipage TIFF file only not blank images.
Public Shared Sub AcquireAndProcessImages()
    ' create the device manager
    Using deviceManager As New DeviceManager()
        ' open the device manager
        deviceManager.Open()
            
        ' select the device in the default device selectio ndialog
        deviceManager.ShowDefaultDeviceSelectionDialog()
            
        ' get reference to the selected device
        Dim device As Device = deviceManager.DefaultDevice
            
        ' specify that device UI must not be used
        device.ShowUI = False
        ' specify that device must be closed after scan
        device.DisableAfterAcquire = True
            
        Dim tiffFilename As String = Path.Combine(Directory.GetCurrentDirectory(), "multipage.tif")
            
        ' acquire images from device
        Dim acquireModalState1 As AcquireModalState = AcquireModalState.None
        Dim acquiredImage As AcquiredImage
        Do
            acquireModalState1 = device.AcquireModal()
            Select Case acquireModalState1
                Case AcquireModalState.ImageAcquired
                    ' get reference to the image acquired from device
                    acquiredImage = device.AcquiredImage
            
                    ' despeckle/deskew/detect border
                    ProcessAcquiredImage(acquiredImage)
                    ' add image to multipage TIFF file if image is not blank
                    If Not acquiredImage.IsBlank(0.01F) Then
                        acquiredImage.Save(tiffFilename)
                    End If
            
                    ' dispose acquired image
                    acquiredImage.Dispose()
                    Exit Select
            End Select
        Loop While acquireModalState1 <> AcquireModalState.None
            
        ' close the device
        device.Close()
            
        ' close the device manager
        deviceManager.Close()
    End Using
End Sub
            
Private Shared Sub ProcessAcquiredImage(ByVal acquiredImage As AcquiredImage)
    Console.WriteLine(String.Format("Image ({0})", acquiredImage.ImageInfo))
            
    Try
        ' subscribe to processing events
        AddHandler acquiredImage.Processing, New EventHandler(Of AcquiredImageProcessingEventArgs)(AddressOf acquiredImage_Processing)
        AddHandler acquiredImage.Progress, New EventHandler(Of AcquiredImageProcessingProgressEventArgs)(AddressOf acquiredImage_Progress)
        AddHandler acquiredImage.Processed, New EventHandler(Of AcquiredImageProcessedEventArgs)(AddressOf acquiredImage_Processed)
            
        ' despeckle/deskew/detect border
        acquiredImage.Despeckle(8, 25, 30, 400)
        acquiredImage.Deskew(BorderColor.AutoDetect, 5, 5)
        acquiredImage.DetectBorder(5)
    Catch ex As ImagingException
        Console.WriteLine("Error: " + ex.Message)
    Finally
        ' unsubscribe from processing events
        RemoveHandler acquiredImage.Processing, New EventHandler(Of AcquiredImageProcessingEventArgs)(AddressOf acquiredImage_Processing)
        RemoveHandler acquiredImage.Progress, New EventHandler(Of AcquiredImageProcessingProgressEventArgs)(AddressOf acquiredImage_Progress)
        RemoveHandler acquiredImage.Processed, New EventHandler(Of AcquiredImageProcessedEventArgs)(AddressOf acquiredImage_Processed)
    End Try
End Sub
            
Private Shared Sub acquiredImage_Processing(ByVal sender As Object, ByVal e As AcquiredImageProcessingEventArgs)
    Console.Write(e.Action.ToString() + " ")
End Sub
            
Private Shared Sub acquiredImage_Progress(ByVal sender As Object, ByVal e As AcquiredImageProcessingProgressEventArgs)
    Console.Write(".")
End Sub
            
Private Shared Sub acquiredImage_Processed(ByVal sender As Object, ByVal e As AcquiredImageProcessedEventArgs)
    Console.WriteLine(" finished")
End Sub
public static void AcquireAndProcessImages()
{
    // create the device manager
    using (DeviceManager deviceManager = new DeviceManager())
    {
        // open the device manager
        deviceManager.Open();
            
        // select the device in the default device selectio ndialog
        deviceManager.ShowDefaultDeviceSelectionDialog();
            
        // get reference to the selected device
        Device device = deviceManager.DefaultDevice;
            
        // specify that device UI must not be used
        device.ShowUI = false;
        // specify that device must be closed after scan
        device.DisableAfterAcquire = true;
            
        string tiffFilename = Path.Combine(Directory.GetCurrentDirectory(), "multipage.tif");
            
        // acquire images from device
        AcquireModalState acquireModalState = AcquireModalState.None;
        AcquiredImage acquiredImage;
        do
        {
            acquireModalState = device.AcquireModal();
            switch (acquireModalState)
            {
                case AcquireModalState.ImageAcquired:
                    // get reference to the image acquired from device
                    acquiredImage = device.AcquiredImage;
            
                    // despeckle/deskew/detect border
                    ProcessAcquiredImage(acquiredImage);
                    // add image to multipage TIFF file if image is not blank
                    if (!acquiredImage.IsBlank(0.01f))
                        acquiredImage.Save(tiffFilename);
            
                    // dispose acquired image
                    acquiredImage.Dispose();
                    break;
            }
        }
        while (acquireModalState != AcquireModalState.None);
            
        // close the device
        device.Close();
    
        // close the device manager
        deviceManager.Close();
    }
}
            
private static void ProcessAcquiredImage(AcquiredImage acquiredImage)
{
    Console.WriteLine(string.Format("Image ({0})", acquiredImage.ImageInfo));
            
    try
    {
        // subscribe to processing events
        acquiredImage.Processing += new EventHandler<AcquiredImageProcessingEventArgs>(acquiredImage_Processing);
        acquiredImage.Progress += new EventHandler<AcquiredImageProcessingProgressEventArgs>(acquiredImage_Progress);
        acquiredImage.Processed += new EventHandler<AcquiredImageProcessedEventArgs>(acquiredImage_Processed);
            
        // despeckle/deskew/detect border
        acquiredImage.Despeckle(8, 25, 30, 400);
        acquiredImage.Deskew(BorderColor.AutoDetect, 5, 5);
        acquiredImage.DetectBorder(5);
    }
    catch (ImagingException ex)
    {
        Console.WriteLine("Error: " + ex.Message);
    }
    finally
    {
        // unsubscribe from processing events
        acquiredImage.Processing -= new EventHandler<AcquiredImageProcessingEventArgs>(acquiredImage_Processing);
        acquiredImage.Progress -= new EventHandler<AcquiredImageProcessingProgressEventArgs>(acquiredImage_Progress);
        acquiredImage.Processed -= new EventHandler<AcquiredImageProcessedEventArgs>(acquiredImage_Processed);
    }
}
            
static void acquiredImage_Processing(object sender, AcquiredImageProcessingEventArgs e)
{
    Console.Write(e.Action.ToString() + " ");
}
            
static void acquiredImage_Progress(object sender, AcquiredImageProcessingProgressEventArgs e)
{
    Console.Write(".");
}
            
static void acquiredImage_Processed(object sender, AcquiredImageProcessedEventArgs e)
{
    Console.WriteLine(" finished");
}
Inheritance Hierarchy

System.Object
   Vintasoft.Twain.AcquiredImage

Requirements

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

See Also

Reference

AcquiredImage Members
Vintasoft.Twain Namespace