从TWAIN源代码获取一个图像

本教程展示了如何创建一个WinForms c#应用程序,该应用程序从TWAIN源文件中获取图像。

概述
总结 本教程介绍了如何在c# WinForms应用程序中利用LEADTOOLS TWAIN SDK技术。
完成时间 30分钟
Visual Studio项目 下载教程项目(10kb)
平台 WinForms c#应用程序
IDE Visual Studio 2017, 2019
开发许可 下载LEADTOOLS
用另一种语言试试

所需的知识

步骤熟悉创建项目的基本步骤添加引用和设置License而且在图像查看器中显示图像教程,在工作之前从TWAIN源代码获取一个图像- WinForms c#教程。

创建项目并添加LEADTOOLS引用

中创建的项目的副本开始在图像查看器中显示图像教程。如果您没有该项目,请按照该教程中的步骤创建它。

所需要的参考资料取决于项目的目的。引用可以通过以下两种方法中的一种添加(但不能同时添加)。本项目需要参考资料如下:

如果使用NuGet引用,本教程需要以下NuGet包:

如果使用本地DLL引用,则需要以下DLL。dll位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Dotnet4 \ x64

有关应用程序需要哪些DLL文件的完整列表,请参阅在你的申请中包含的文件

设置License文件

许可证解锁项目所需的特性。它必须在调用任何工具箱函数之前设置。有关包括针对不同平台的教程的详细信息,请参阅设置运行时License

有两种类型的运行时许可证:

请注意

中详细介绍了添加LEADTOOLS NuGet和本地引用以及设置许可证添加引用和设置License教程。

TWAIN会话启动和关闭

创建了项目、添加了引用、设置了许可证、添加了ImageViewer、加载和保存代码之后,就可以开始编码了。

解决方案资源管理器,双击Form1.cs以显示设计器。右键单击设计器并选择视图代码或按F7.这将显示表单背后的代码。将下列语句添加到使用块的顶部Form1.cs

c#
//在顶部使用块使用系统;使用先;使用Leadtools;使用Leadtools.Codecs;使用Leadtools.Controls;使用Leadtools.Twain;

添加以下全局变量:

c#
//添加全局变量私人TwainSession _session;

将下面的代码添加到Form1_Load初始化TWAIN会话。

c#
私人无效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事件处理程序(如果不存在)。

FormClosing事件截图

控件中添加以下代码Form1_FormClosing事件处理程序关闭TWAIN会话。

c#
私人无效Form1_FormClosing (对象发送器,FormClosingEventArgs_session.Shutdown ();

添加“选择源”、“获取页面”和“显示图像代码”

开放Form1.cs解决方案资源管理器然后加上吐温下拉菜单,旁边文件.方法中介绍了菜单条的创建在图像查看器中显示图像教程。在吐温下拉菜单添加以下菜单项:

文本 名字
选择源 selectSourceToolStripMenuItem
与页面 acquireImageToolStripMenuItem
吐温菜单

双击新增的选择源菜单项添加其事件处理程序。添加以下代码以选择TWAIN源。

c#
私人无效selectSourceToolStripMenuItem_Click (对象发送者,EventArgs_session。SelectSource (字符串空虚);

导航回Form1.cs设计器,并双击获取图像菜单项添加其事件处理程序。添加以下代码使应用程序侦听扫描的图像。一旦页面被扫描,应用程序将获取该图像并将图像加载到imageview

c#
私人无效acquireImageToolStripMenuItem_Click (对象发送者,EventArgs_session。AcquirePage + =EventHandler < TwainAcquirePageEventArgs > (_session_AcquirePage);_session.Acquire (TwainUserInterfaceFlags.Show);
c#
私人无效_session_AcquirePage (对象发送者:TwainAcquirePageEventArgs//在ImageViewer中设置扫描图像_view。Image = e.Image;

添加TWAIN能力选项

在设计器中,创建另一个带有文本的菜单下拉菜单选项,在吐温

选项下拉菜单添加以下菜单项:

文本 名字
本机 nativeToolStripMenuItem
与记忆 memoryToolStripMenuItem
文件 fileToolStripMenuItem1
选项菜单

双击本地的菜单项添加其事件处理程序,然后添加以下代码:

c#
私人无效nativeToolStripMenuItem_Click (对象发送者,EventArgsTwainCapability能力=TwainCapability ();capacity . information . containertype = TwainContainerType.OneValue;capability.Information.Type = twaincapacitytype . imagetransfermechanism;capacity . onevaluecapability . itemtype = TwainItemType.Uint16;value = (UInt16)TwainTransferMechanism.Native;_session。SetCapability(能力,TwainSetCapabilityMode.Set);

打开窗体的设计器并双击内存菜单项添加其事件处理程序,然后添加以下代码:

c#
私人无效memoryToolStripMenuItem_Click (对象发送者,EventArgsTwainCapability能力=TwainCapability ();capacity . information . containertype = TwainContainerType.OneValue;capability.Information.Type = twaincapacitytype . imagetransfermechanism;capacity . onevaluecapability . itemtype = TwainItemType.Uint16;value = (UInt16)TwainTransferMechanism.Memory;_session。SetCapability(能力,TwainSetCapabilityMode.Set);

打开窗体的设计器并双击文件菜单项编辑其事件处理程序,然后添加以下代码:

c#
私人无效fileToolStripMenuItem1_Click (对象发送者,EventArgsTwainCapability能力=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,或选择调试->开始调试

如果正确地执行了这些步骤,应用程序将运行。测试时,请遵循以下说明:

  1. 点击吐温->选择源并选择TWAIN设备。确保机器上安装了扫描仪所需的TWAIN驱动程序,这些驱动程序通常与扫描设备一起安装。
  2. 点击吐温->获取页面让应用程序扫描页面。
  3. 扫描的页面应该显示在图像查看器

总结

本教程展示了如何列出可用的TWAIN设备,并从这些设备获取扫描图像。它还涵盖了如何使用TwainSession而且TwainCapability类。

另请参阅

iOS
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2023领德科技有限公司版权所有。