《.NET中扫描仪控制的实现》
来源:互联网 发布:美食app推荐软件 编辑:程序博客网 时间:2024/06/11 03:00
摘要
在windows图象应用程序中,用于扫描的主要API是TWAIN www.twain.org .不幸的,是新的.NET Freamework框架没有内置支持TWAIN.因此,我们必须去写一个方法去使.NET下可以使用这个API。这个简单的代码包含的不是最终的功能介绍,只是一些并于.NET应用开发的TWAIN编程基本的步骤
祥细设计
第一步是最重要的部分,设置TWAIN.H端口,这部分代码在TwainDefs.cs中可以找到。主要的逻辑代码在TwainLib.cs的Twain 类中。TWAIN API 存在于Windows DLL的Twain_32.dll中,我们必须用.NET DLL 输入机制来实现交互性代码。这个DLL的中枢是DSM_Entry(),序数1#方法输出TWAIN的入口指针。它调用一些许多参数,最后一个是可变类型!如果在声明多个变量去调用,这是最好的,像如下:
[DllImport("twain_32.dll", EntryPoint="#1")]
private static extern TwRC DSMparent(
[In, Out] TwIdentity origin,
IntPtr zeroptr,
TwDG dg, TwDAT dat, TwMSG msg,
ref IntPtr refptr );
Twain 类的第5步如下:
class Twain
{
Init();
Select();
Acquire();
PassMessage();
TransferPictures();
}
对于某些“回叫信号”,TWAIN调用特殊Windows通信,并且捕获应用环路信息。在.NET中,唯一的捕获方式是调用IMessageFilter.PreFilterMessage(),过滤器将在调用Application.AddMessageFilter()时被激活。在过滤器的方法中,我们将转送每一个信息给Twain.PassMessage(),并显示操作提示(Twain命令菜单).
这个例子是Windows 窗口MDI-style应用。它有两个TWAIN-related菜单选项 Select Source… 和Acquire …,一个是图像扫描,我们可以把扫描的图像保存成任何的GDI+支持的文件格式(BMP,GIF,TIFF,JPEF…)
代码调试环境是:windows 2000/SP2,日本爱普生科技公司 USB扫描仪 。
扫描图像端口:Windows DIB(TWAIN spec调用)
- 《.NET中扫描仪控制的实现》
- 《.NET中扫描仪控制的实现》
- 在Delphi中控制扫描仪
- 在Delphi中控制扫描仪
- 在Delphi中控制扫描仪
- WEB系统中集成控制扫描仪解决方案
- WEB系统中集成控制扫描仪解决方案
- WEB系统中集成控制扫描仪解决方案
- C# 中扫描仪的连接
- C# 中扫描仪的连接
- Winform中扫描仪的应用
- 扫描仪twain协议实现,可以实现简单控制
- VC中基于TWAIN协议控制扫描仪-----初级版
- .Net中VSS实现版本控制管理的一些使用方法
- .Net中VSS实现版本控制管理的方法
- ASP.NET MVC中权限控制的简单实现
- Asp.net中如何实现后台控制前台的跳转
- asp.net 扫描仪
- 在ASP.NET中显示事件日志记录
- Java基础-枚举的两种基本模式
- 上传文件
- 在Window CE中Unicode和Ansi字符间互相转换
- 随机读取数据库记录
- 《.NET中扫描仪控制的实现》
- SQL存储过程在.NET数据库中的应用
- sexed up by robbie williams
- DirectX SDK 与 DirectShow SDK
- NET中三层构架开发实例-用户注册系统
- C# 将数据导出到Execl汇总(很全面)
- 洗牌问题
- asp:Repeater控件的应用,System.Data.DataRowView
- 动态增加行