VintaSoft Twain .NET SDK 15.4: Documentation for .NET developer
Vintasoft.Twain Namespace / DeviceImageLayout Class
Members Object Syntax Example Hierarchy Requirements SeeAlso
In This Topic
DeviceImageLayout Class
In This Topic
Class that allows to manipulate the image layout of TWAIN device.
Object Model
DeviceImageLayout
Syntax
'Declaration

Public NotInheritable Class DeviceImageLayout

public sealed class DeviceImageLayout

Example

This C#/VB.NET code shows how to acquire only the top part of page.


Private Sub AcquirePartOfImage()
    Using deviceManager As New Vintasoft.Twain.DeviceManager()
        Try
            ' open the device manager
            deviceManager.Open()

            deviceManager.ShowDefaultDeviceSelectionDialog()

            ' get reference to the default device
            Dim device As Vintasoft.Twain.Device = deviceManager.DefaultDevice

            device.ShowUI = False
            device.DisableAfterAcquire = True

            ' open the device
            device.Open()

            ' set image layout (get only the top half of the page)
            device.UnitOfMeasure = Vintasoft.Twain.UnitOfMeasure.Inches
            Dim imageLayout As Vintasoft.Primitives.VintasoftRectF = device.ImageLayout.[Get]()
            device.ImageLayout.[Set](0, 0, imageLayout.Width, imageLayout.Height / 2)

            Dim tiffFilename As String = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), "multipage.tif")

            ' acquire images from device
            Dim acquireModalState As Vintasoft.Twain.AcquireModalState = Vintasoft.Twain.AcquireModalState.None
            Do
                acquireModalState = device.AcquireModal()
                Select Case acquireModalState
                    Case Vintasoft.Twain.AcquireModalState.ImageAcquired
                        ' save acquired image to multipage TIFF file
                        device.AcquiredImage.Save(tiffFilename)
                        ' dispose the acquired image
                        device.AcquiredImage.Dispose()
                        Exit Select
                End Select
            Loop While acquireModalState <> Vintasoft.Twain.AcquireModalState.None

            ' close the device
            device.Close()

            ' close the device manager
            deviceManager.Close()
        Catch ex As Vintasoft.Twain.TwainException
            System.Console.WriteLine("Error: " + ex.Message)
            System.Console.ReadLine()
        End Try
    End Using
End Sub


private void AcquirePartOfImage()
{
    using (Vintasoft.Twain.DeviceManager deviceManager = new Vintasoft.Twain.DeviceManager())
    {
        try
        {
            // open the device manager
            deviceManager.Open();

            deviceManager.ShowDefaultDeviceSelectionDialog();

            // get reference to the default device
            Vintasoft.Twain.Device device = deviceManager.DefaultDevice;

            device.ShowUI = false;
            device.DisableAfterAcquire = true;

            // open the device
            device.Open();

            // set image layout (get only the top half of the page)
            device.UnitOfMeasure = Vintasoft.Twain.UnitOfMeasure.Inches;
            Vintasoft.Primitives.VintasoftRectF imageLayout = device.ImageLayout.Get();
            device.ImageLayout.Set(0, 0, imageLayout.Width, imageLayout.Height / 2);

            string tiffFilename = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), "multipage.tif");

            // acquire images from device
            Vintasoft.Twain.AcquireModalState acquireModalState = Vintasoft.Twain.AcquireModalState.None;
            do
            {
                acquireModalState = device.AcquireModal();
                switch (acquireModalState)
                {
                    case Vintasoft.Twain.AcquireModalState.ImageAcquired:
                        // save acquired image to multipage TIFF file
                        device.AcquiredImage.Save(tiffFilename);
                        // dispose the acquired image
                        device.AcquiredImage.Dispose();
                        break;
                }
            }
            while (acquireModalState != Vintasoft.Twain.AcquireModalState.None);

            // close the device
            device.Close();

            // close the device manager
            deviceManager.Close();
        }
        catch (Vintasoft.Twain.TwainException ex)
        {
            System.Console.WriteLine("Error: " + ex.Message);
            System.Console.ReadLine();
        }
    }
}

Inheritance Hierarchy

System.Object
   Vintasoft.Twain.DeviceImageLayout

Requirements

Target Platforms: .NET 10; .NET 9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

See Also