The event handler receives an argument of type WiaAcquireEventArgs containing data related to this event. The following WiaAcquireEventArgs properties provide information specific to this event.
Property | Description |
---|---|
Cancel | Aborts the acquire operation. |
FileName | Indicates the full filename and path into which the current scanning operation is saving the page(s) that are being acquired. |
Flags | Indicates the start and the end of each acquired page. |
Image | Gets the IRasterImage which holds the image data acquired from the WIA Data Source. |
Percent | Indicates the percent completion of the acquisition process from the WIA source. |
If the user acquired several pages at the same time, a separate event occurs for each page.
For more information, refer to How to Acquire from the WIA Source.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Wia;
public void IsAvailableExample(IntPtr parent)
{
if (!WiaSession.IsAvailable(WiaVersion.Version1))
{
Console.WriteLine("WIA version 1.0 not installed.");
return;
}
WiaSession wiaSession = new WiaSession();
wiaSession.Startup(WiaVersion.Version1);
DialogResult res = wiaSession.SelectDeviceDlg(parent, WiaDeviceType.Default, WiaSelectSourceFlags.NoDefault);
if (res != DialogResult.OK)
{
Console.WriteLine("Error selecting WIA device.");
wiaSession.Shutdown();
return;
}
// Initialize and fill the required fields from the WiaAcquireOptions structure
WiaAcquireOptions wiaAcquireOptions = WiaAcquireOptions.Empty;
wiaAcquireOptions.MemoryBufferSize = 32 * 1024;
wiaAcquireOptions.DoubleBuffer = true;
wiaSession.AcquireOptions = wiaAcquireOptions;
wiaSession.AcquireEvent += new EventHandler<WiaAcquireEventArgs>(wiaSession_AcquireEvent);
wiaSession.Acquire(parent, null, WiaAcquireFlags.ShowUserInterface | WiaAcquireFlags.UseCommonUI);
wiaSession.AcquireEvent -= new EventHandler<WiaAcquireEventArgs>(wiaSession_AcquireEvent);
wiaSession.Shutdown();
}
public void wiaSession_AcquireEvent(object sender, WiaAcquireEventArgs e)
{
Application.DoEvents();
if ((e.Flags & WiaAcquiredPageFlags.StartOfPage) == WiaAcquiredPageFlags.StartOfPage)
Console.WriteLine("Beginning of data transfer.");
else if ((e.Flags & WiaAcquiredPageFlags.EndOfPage) == WiaAcquiredPageFlags.EndOfPage)
Console.WriteLine("End of data transfer.");
if (e.Image != null)
{
// You can load the image here.
}
e.Cancel = false;
}