C#实现指纹识别功能编程

来源:互联网 发布:怎么给淘宝账户充值 编辑:程序博客网 时间:2024/06/06 12:43
指纹识别器属于常用的硬件设备,主用用于考勤,门禁,各种考试场合等。指纹识别器如果要通过USB连接计算机,必须需要驱动程序才可以识别。
C#可以通过调用指纹识别器驱动文件,实现指纹识别的功能。主要使用的DLL驱动为Biokey.ocx文件。因为该文件进行了封装,需要在Windows系统中进行regsvr32注册该COM组件。
///
/// 初始化指纹识别器
///
private void InitZKeFinger()
{
AxZKFPEngXControl.AxZKFPEngX axZKFPEngX1 = newAxZKFPEngXControl.AxZKFPEngX();
long eng = axZKFPEngX1.InitEngine();
//axZKFPEngX1.Visible
axZKFPEngX1.ImageWidth = 150;
axZKFPEngX1.ImageHeight = 200;
switch (eng)
{
case 0:
//MessageBox.Show(\"初始化成功\");
break;
case 1:
MessageBox.Show(\"指纹识别驱动加载失败\");
break;
case 2:
MessageBox.Show(\"没有连接指纹识别\");
break;
case 3:
MessageBox.Show(\"属性SensorIndex指定的指纹不存在\");
break;
default:
MessageBox.Show(\"初始化失败\");
break;
}
axZKFPEngX1.BeginCapture();
}
///
/// 按下手指,进行识别时进行逻辑处理操作。
///
///
///
private void axZKFPEngX1_OnCapture(object sender,AxZKFPEngXControl.IZKFPEngXEvents_OnCaptureEvente)
{
string temStr = axZKFPEngX1.GetTemplateAsString();
this.pictureBox2.Image = null;
this.tbxyzw.Text = temStr;
object finger = null;
axZKFPEngX1.GetFingerImage(ref finger);
byte[] tmp = (byte[])finger;
Image fingeImg = null;
MemoryStream myMStream = new MemoryStream(tmp, 0,tmp.Length);
fingeImg = Image.FromStream(myMStream);
Image tmpImg = new Bitmap(fingeImg, new Size(140,200));
this.pictureBox2.Image = tmpImg;
}