本教程展示了如何创建一个WinForms c#应用程序来从TWAIN源文件中获取图像。
| 概述 | |
|---|---|
| 总结 | 本教程将介绍如何在c# WinForms应用程序中利用LEADTOOLS TWAIN SDK技术。 |
| 完成时间 | 30分钟 |
| Visual Studio项目 | 下载教程项目(10kb) |
| 平台 | WinForms c#应用程序 |
| IDE | Visual Studio 2017, 2019 |
| 开发许可 | 下载LEADTOOLS |
| 用另一种语言试试 |
|
来熟悉创建项目的基本步骤添加引用和设置License而且在图像查看器中显示图像教程,在工作之前从TWAIN源代码- WinForms c#获取图像教程。
在Visual Studio中,创建一个新的c# Windows Winforms项目,并添加以下必要的LEADTOOLS引用。
所需的参考资料取决于项目的目的。可以通过以下两种方法中的一种或另一种添加引用(但不能同时添加)。对于这个项目,需要以下参考资料:
如果使用NuGet引用,本教程需要以下NuGet包:
Leadtools。吐温Leadtools.Viewer.Controls.WinForms如果使用本地DLL引用,则需要以下DLL。dll位于< INSTALL_DIR > \ LEADTOOLS21 \ Bin \ Dotnet4 \ x64:
Leadtools.dllLeadtools.Codecs.dllLeadtools.Codecs.Cmp.dllLeadtools.Codecs.Fax.dllLeadtools.Codecs.Tif.dllLeadtools.Controls.WinForms.dllLeadtools.Drawing.dllLeadtools.Twain.dll有关特定格式需要哪些Codec dll的完整列表,请参阅文件格式支持.
许可证解锁项目所需的特性。它必须在调用任何工具包函数之前设置。有关详细信息,包括不同平台的教程,请参阅设置运行时License.
有两种类型的运行时许可证:
请注意
中详细介绍了添加LEADTOOLS NuGet和本地引用以及设置许可证添加引用和设置License教程。
创建了项目、添加了引用、设置了许可证、添加了ImageViewer、加载和保存代码之后,就可以开始编码了。
在解决方案资源管理器,双击Form1.cs显示设计器。右键单击设计器并选择视图代码或按F7.这将显示表单背后的代码。将以下语句添加到使用块的顶部Form1.cs:
//在顶部使用块使用系统;使用先;使用Leadtools;使用Leadtools.Codecs;使用Leadtools.Controls;使用Leadtools.Twain;
添加以下全局变量:
//添加这个全局变量私人TwainSession _session;
将下面的代码添加到Form1_Load事件初始化TWAIN会话。
私人无效Form1_Load (对象发送器,EventArgs{_view =新imageview ();_view。Dock = DockStyle.Fill;_view。BackColor = Color.DarkGray;Controls.Add (_view);_viewer.BringToFront ();//这将启动TWAIN会话_session =新TwainSession ();_session。启动(这.Handle,“制造商”,“productFamily”,“版本”,“应用程序”, TwainStartupFlags.None);}
在解决方案资源管理器,双击Form1.cs再提设计师的事单击事件的图标。属性窗口.然后,双击FormClosing事件处理程序(如果不存在)。
将以下代码添加到Form1_FormClosing事件处理程序来关闭TWAIN会话。
私人无效Form1_FormClosing (对象发送器,FormClosingEventArgs{_session.Shutdown ();}
开放Form1.cs在解决方案资源管理器然后加一个吐温下拉菜单,旁边文件.菜单条的创建包含在在图像查看器中显示图像教程。在吐温下拉菜单添加以下菜单项:
| 文本 | 的名字 |
|---|---|
| 选择源 | selectSourceToolStripMenuItem |
| 与页面 | acquireImageToolStripMenuItem |
双击新增的选择源菜单项以添加其事件处理程序。添加以下代码来选择TWAIN源代码。
私人无效selectSourceToolStripMenuItem_Click (对象发送器,EventArgs{_session。SelectSource (字符串空虚);}
导航回Form1.cs设计器,并双击获取图像菜单项以添加其事件处理程序。添加以下代码,使应用程序监听扫描的图像。一旦一个页面被扫描,应用程序将获取该图像,并将图像加载到imageview.
私人无效acquireImageToolStripMenuItem_Click (对象发送器,EventArgs{_session。AcquirePage + =新EventHandler < TwainAcquirePageEventArgs > (_session_AcquirePage);_session.Acquire (TwainUserInterfaceFlags.Show);}
私人无效_session_AcquirePage (对象发送器,TwainAcquirePageEventArgs{//在ImageViewer中设置扫描图像_view。图像= e.图像;}
在设计器中,创建另一个带有文本的菜单下拉菜单选项,紧挨着吐温.
在选项下拉菜单添加以下菜单项:
| 文本 | 的名字 |
|---|---|
| 本机 | nativeToolStripMenuItem |
| 与记忆 | memoryToolStripMenuItem |
| 文件 | fileToolStripMenuItem1 |
双击本地的菜单项添加其事件处理程序,然后添加以下代码:
私人无效nativeToolStripMenuItem_Click (对象发送器,EventArgs{TwainCapability能力=新TwainCapability ();capability.Information.ContainerType = TwainContainerType.OneValue;capability.Information.Type = TwainCapabilityType.ImageTransferMechanism;itemtype = TwainItemType.Uint16;value = (UInt16)TwainTransferMechanism.Native;_session。SetCapability(能力,TwainSetCapabilityMode.Set);}
打开窗体的设计器并双击内存菜单项添加其事件处理程序,然后添加以下代码:
私人无效memoryToolStripMenuItem_Click (对象发送器,EventArgs{TwainCapability能力=新TwainCapability ();capability.Information.ContainerType = TwainContainerType.OneValue;capability.Information.Type = TwainCapabilityType.ImageTransferMechanism;itemtype = TwainItemType.Uint16;value = (UInt16)TwainTransferMechanism.Memory;_session。SetCapability(能力,TwainSetCapabilityMode.Set);}
打开窗体的设计器并双击文件菜单项来编辑它的事件处理程序,然后添加以下代码:
私人无效fileToolStripMenuItem1_Click (对象发送器,EventArgs{TwainCapability能力=新TwainCapability ();capability.Information.ContainerType = TwainContainerType.OneValue;capability.Information.Type = TwainCapabilityType.ImageTransferMechanism;itemtype = TwainItemType.Uint16;value = (UInt16)TwainTransferMechanism.File;_session。SetCapability(能力,TwainSetCapabilityMode.Set);}
通过按运行项目F5,或选择调试->开始调试.
如果正确地执行了这些步骤,应用程序将运行。对于测试,请遵循以下说明:
本教程展示了如何列出可用的TWAIN设备,并从这些设备获取扫描图像。还介绍了如何使用TwainSession而且TwainCapability类。