private void axZKFPEngX1_OnEnroll(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnEnrollEvent e)
 {
     m_finger = Convert.ToBase64String((byte[])e.aTemplate);
     axZKFPEngX1.EndEngine();
     BtnFinger.Enabled = true;
     BtnFinger.Text = "重新获取指纹";
 }
 private void axZKFPEngX1_OnEnroll(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnEnrollEvent e)
 {
     m_member.CI_Password = Convert.ToBase64String((byte[])e.aTemplate);
     if (!dao.execute_command("update [CardInfo] set CI_Password='******' where CI_CardNo='"+m_member.CI_CardNo+"'"))
     {
         m_member.CI_Password = null;
         BathClass.printErrorMsg("将指纹数据写入数据库失败,请重试!");
     }
     else
     {
         m_verified_finger = true;
         axZKFPEngX1.EndEngine();
         this.DialogResult = DialogResult.OK;
     }
 }
        private void axZKFPEngX1_OnCapture(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnCaptureEvent e)
        {
            if (m_member.CI_Password != null && m_member.CI_Password != "")
            {
                bool RegChanged = false;
                string tmp = axZKFPEngX1.GetTemplateAsString();

                object obj1 = null;
                bool rt = axZKFPEngX1.DecodeTemplate(m_member.CI_Password, ref obj1);

                object obj2 = null;
                rt = axZKFPEngX1.DecodeTemplate(tmp, ref obj2);

                rt = axZKFPEngX1.VerFinger(ref obj1, obj2, false, ref RegChanged);
                axZKFPEngX1.EndEngine();
                m_verified_finger = rt;

                this.DialogResult = DialogResult.OK;

            }
        }
        private void axZKFPEngX1_OnFeatureInfo(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnFeatureInfoEvent e)
        {
            string strTemp = "指纹质量";
            if (e.aQuality == 0)
            {
                strTemp = strTemp + "合格";
            }
            else
            {
                if (e.aQuality == 1)
                {
                    strTemp = strTemp + "特征点不够";
                }
                else
                    strTemp = strTemp + "不合格";
            }
            if (axZKFPEngX1.IsRegister)
                if (axZKFPEngX1.EnrollIndex != 1)
                    strTemp = strTemp + ",请再按 " + (axZKFPEngX1.EnrollIndex - 1).ToString() + "次指纹";
                else
                    strTemp = strTemp + ",登记成功";

            BtnFinger.Text = strTemp;
        }
 private void axZKFPEngX1_OnImageReceived(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnImageReceivedEvent e)
 {
     Graphics g = pictureBox1.CreateGraphics();
     Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
     g = Graphics.FromImage(bmp);
     int handle1 = g.GetHdc().ToInt32();
     axZKFPEngX1.PrintImageAt(handle1, 0, 0, bmp.Width, bmp.Height);
     g.Dispose();
     pictureBox1.Image = bmp;
 }
Beispiel #6
0
 //取得指纹初始特征,0:好的指纹特征  1:特征点不够
 static void ZKFPEngX1_OnFeatureInfo(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnFeatureInfoEvent e)
 {
     String strTemp = "指纹采集质量";
     if (e.aQuality != 0)
     {
         Program.frmInput.change_control_state(frmInputFingerPrintState.get_bad_print, null);
         strTemp = strTemp + "较差";
     }
     else
     {
         Program.frmInput.change_control_state(frmInputFingerPrintState.get_good_print, null);
         strTemp = strTemp + "良好";
     }
     if (g_ZKFP.IsRegister && g_ZKFP.EnrollIndex > 1)
     {
         //ShowHintInfo("正在进行第" + (4 - g_ZKFP.EnrollIndex).ToString() + "次登记,尚需" + (g_ZKFP.EnrollIndex - 1).ToString() + "次");
     }
     //ShowHintInfo(strTemp);
 }
Beispiel #7
0
        //将指纹登记特征模版保存到指纹识别高速缓冲空间,并显示指纹登记结果
        static void ZKFPEngX1_OnEnroll(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnEnrollEvent e)
        {
            if (e.actionResult)
            {
                string tmp9 = g_ZKFP.GetTemplateAsStringEx("9");
                Program.play_voice("指纹登记成功!");
                Program.frmInput.change_control_state(frmInputFingerPrintState.register_print_success, null);
                //ShowHintInfo("指纹登记成功!");

                //frmStudentM.set_fp_string(tmp9);
            }
            else
            {
                //ShowHintInfo("指纹登记失败");
                Program.frmInput.change_control_state(frmInputFingerPrintState.register_print_failed, null);
            }
        }
Beispiel #8
0
 static void ZKFPEngX1_OnCapture(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnCaptureEvent e)
 {
     int ID = 0, i;
     int Score = 0;
     //e.aTemplate为object类型数据,将其分离并转化为整型
     Array _ObjectArray = (Array)e.aTemplate;
     ID = Convert.ToInt32(_ObjectArray.GetValue(0));
     Score = Convert.ToInt32(_ObjectArray.GetValue(1));
     if (ID == -1)
     {
         Program.frmIdentify.change_control_state(1, null);
         //lblresult.Text = "Fingerprint Auto Identify Failed!";
     }
     else
     {
         //lblresult.Text = "Fingerprint Auto identification success!";
         Program.frmIdentify.change_control_state(0, ID);
     }
 }
Beispiel #9
0
 //获取指纹图像并在窗口中实时显示
 private void ZKFPEngX1_OnImageReceived(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnImageReceivedEvent e)
 {
     ShowHintImage(0);
     Graphics g = PictureBox1.CreateGraphics();
     Bitmap bmp = new Bitmap(PictureBox1.Width, PictureBox1.Height);
     g = Graphics.FromImage(bmp);
     int dc = g.GetHdc().ToInt32();
     ZKFPEngX1.PrintImageAt(dc, 0, 0, bmp.Width, bmp.Height);
     g.Dispose();
     PictureBox1.Image = bmp;
 }
Beispiel #10
0
 //取得指纹初始特征,0:好的指纹特征  1:特征点不够
 private void ZKFPEngX1_OnFeatureInfo(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnFeatureInfoEvent e)
 {
     String strTemp = "Fingerprint quality";
     if (e.aQuality != 0)
     {
         strTemp = strTemp + " not good";
     }
     else
     {
         strTemp = strTemp + " good";
     }
     if (ZKFPEngX1.EnrollIndex != 1)
     {
         if (ZKFPEngX1.IsRegister)
         {
             if (ZKFPEngX1.EnrollIndex - 1 > 0)
             {
                 strTemp = strTemp + '\n'+ " Register status: still press finger " + Convert.ToString(ZKFPEngX1.EnrollIndex-1) + " times!";
             }
         }
     }
     ShowHintInfo(strTemp);
 }
Beispiel #11
0
 //将指纹登记特征模版保存到指纹识别高速缓冲空间,并显示指纹登记结果
 private void ZKFPEngX1_OnEnroll(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnEnrollEvent e)
 {
     if (e.actionResult)
     {
         MessageBox.Show("Fingerprint register success! ", "提示! ", MessageBoxButtons.YesNo);
         //e.aTemplate = ZKFPEngX1.GetTemplate();
         //ZKFPEngX1.AddRegTemplateToFPCacheDB(fpcHandle, 1, e.aTemplate);
         ZKFPEngX1.AddRegTemplateStrToFPCacheDBEx(fpcHandle, 1, ZKFPEngX1.GetTemplateAsStringEx("9"), ZKFPEngX1.GetTemplateAsStringEx("10"));
         ShowHintInfo("Fingerprint register success!");
     }
     else
     {
         ShowHintInfo("Fingerprint register failed");
         MessageBox.Show("Fingerprint register failed ", "提示! ", MessageBoxButtons.YesNo);
     }
 }
Beispiel #12
0
        //指纹比对事件  (该例中只有1:N比对,即同指纹识别高速缓冲空间德指纹信息进行比对)
        private void ZKFPEngX1_OnCapture(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnCaptureEvent e)
        {
            int ID,i;
            int Score = new int();
            int ProcessNum = new int();
            ShowHintInfo("Acquired fingerprint template:");
            if (FMatchType == 1)//1:1比对(一般用法为把登记好的指纹保存到数据库,1:1比对时,先从数据库获取到相应编号的指纹模板,再同现在比对时获取的指纹进行比对)
            {
                //下面该段代码未实现        sRegTemp为从数据库获取的指纹模板, sVerTemplate为该时刻比对时的指纹
                //ZKFPEngX1.VerFingerFromStr(sRegTemp, sVerTemplate, False, ref regChange)

            }
            if (FMatchType == 2)//1:N比对
            {
                if (!FAutoIdentify)
                {
                    if (Radio9.Checked)
                    {
                        ZKFPEngX1.FPEngineVersion = "9";
                        ID = ZKFPEngX1.IdentificationFromStrInFPCacheDB(fpcHandle, ZKFPEngX1.GetTemplateAsStringEx("9"), ref Score, ref ProcessNum);
                    }
                    else
                    {
                        ZKFPEngX1.FPEngineVersion = "10";
                        ID = ZKFPEngX1.IdentificationFromStrInFPCacheDB(fpcHandle, ZKFPEngX1.GetTemplateAsStringEx("10"), ref Score, ref ProcessNum);
                    }
                    if (ID == -1)
                    {
                        ShowHintInfo("Identification Failed! Score = " + Convert.ToString(Score));
                        ShowHintImage(2);
                    }
                    else
                    {
                        String strTemp = "Identification success!\n" + " Score =" + Convert.ToString(Score);
                        ShowHintInfo(strTemp);
                        ShowHintImage(1);
                    }
                    if (ID > 0)
                    {
                        lblresult.Text = "Verify success";
                    }
                    else
                    {
                        lblresult.Text = "Sorry,Verify failed!";
                    }

                }
                else
                {
                    ID = 0;
                    Score = 0;
                    //e.aTemplate为object类型数据,将其分离并转化为整型
                    Array _ObjectArray = (Array)e.aTemplate;
                    int _ObjectCount = _ObjectArray.GetLength(0);
                    for (i = 0; i<2; i++)
                    {
                        if (i == 0)
                        {
                            ID = Convert.ToInt32(_ObjectArray.GetValue(i));

                        }
                        else
                        {
                            Score = Convert.ToInt32(_ObjectArray.GetValue(i));
                        }
                    }
                    if (ID == -1)
                    {
                         lblresult.Text = "Fingerprint Auto Identify Failed!";
                         ShowHintInfo("Fingerprint Auto Identify Failed!");
                         ShowHintImage(2);
                     }
                     else
                     {
                         lblresult.Text = "Fingerprint Auto identification success!";
                         ShowHintInfo("Fingerprint Auto identification success! Score =" + Convert.ToString(Score));
                         ShowHintImage(1);
                      }

                }

            }
        }