本教程展示了如何创建一个WinForms c#应用程序,该应用程序从TWAIN源文件中获取图像。
| 概述 | |
|---|---|
| 总结 | 本教程介绍了如何在c# WinForms应用程序中利用LEADTOOLS TWAIN SDK技术。 |
| 完成时间 | 30分钟 |
| Visual Studio项目 | 下载教程项目(10kb) |
| 平台 | WinForms c#应用程序 |
| IDE | Visual Studio 2017, 2019 |
| 开发许可 | 下载LEADTOOLS |
| 用另一种语言试试 |
|
步骤熟悉创建项目的基本步骤添加引用和设置License而且在图像查看器中显示图像教程,在工作之前从TWAIN源代码获取一个图像- WinForms c#教程。
中创建的项目的副本开始在图像查看器中显示图像教程。如果您没有该项目,请按照该教程中的步骤创建它。
所需要的参考资料取决于项目的目的。引用可以通过以下两种方法中的一种添加(但不能同时添加)。本项目需要参考资料如下:
如果使用NuGet引用,本教程需要以下NuGet包:
Leadtools。吐温Leadtools.Viewer.Controls.WinForms如果使用本地DLL引用,则需要以下DLL。dll位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Dotnet4 \ x64:
Leadtools.dllLeadtools.Codecs.dllLeadtools.Codecs.Cmp.dllLeadtools.Codecs.Fax.dllLeadtools.Codecs.Tif.dllLeadtools.Controls.WinForms.dllLeadtools.Drawing.dllLeadtools.Twain.dll有关应用程序需要哪些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 .深灰色;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。Image = e.Image;}
在设计器中,创建另一个带有文本的菜单下拉菜单选项,在吐温.
在选项下拉菜单添加以下菜单项:
| 文本 | 名字 |
|---|---|
| 本机 | nativeToolStripMenuItem |
| 与记忆 | memoryToolStripMenuItem |
| 文件 | fileToolStripMenuItem1 |
双击本地的菜单项添加其事件处理程序,然后添加以下代码:
私人无效nativeToolStripMenuItem_Click (对象发送者,EventArgs{TwainCapability能力=新TwainCapability ();capacity . information . containertype = TwainContainerType.OneValue;capability.Information.Type = twaincapacitytype . imagetransfermechanism;capacity . onevaluecapability . itemtype = TwainItemType.Uint16;value = (UInt16)TwainTransferMechanism.Native;_session。SetCapability(能力,TwainSetCapabilityMode.Set);}
打开窗体的设计器并双击内存菜单项添加其事件处理程序,然后添加以下代码:
私人无效memoryToolStripMenuItem_Click (对象发送者,EventArgs{TwainCapability能力=新TwainCapability ();capacity . information . containertype = TwainContainerType.OneValue;capability.Information.Type = twaincapacitytype . imagetransfermechanism;capacity . onevaluecapability . itemtype = TwainItemType.Uint16;value = (UInt16)TwainTransferMechanism.Memory;_session。SetCapability(能力,TwainSetCapabilityMode.Set);}
打开窗体的设计器并双击文件菜单项编辑其事件处理程序,然后添加以下代码:
私人无效fileToolStripMenuItem1_Click (对象发送者,EventArgs{TwainCapability能力=新TwainCapability ();capacity . information . containertype = TwainContainerType.OneValue;capability.Information.Type = twaincapacitytype . imagetransfermechanism;capacity . onevaluecapability . itemtype = TwainItemType.Uint16;value = (UInt16)TwainTransferMechanism.File;_session。SetCapability(能力,TwainSetCapabilityMode.Set);}
按下运行项目F5,或选择调试->开始调试.
如果正确地执行了这些步骤,应用程序将运行。测试时,请遵循以下说明:
本教程展示了如何列出可用的TWAIN设备,并从这些设备获取扫描图像。它还涵盖了如何使用TwainSession而且TwainCapability类。