private void 断开指纹仪DToolStripMenuItem_Click(object sender, EventArgs e) { ZKFPEngX1.EndEngine(); this.连接指纹仪CToolStripMenuItem.Enabled = true; this.断开指纹仪DToolStripMenuItem.Enabled = false; this.sensorConnectionState.Text = "未连接"; }
//Comienzo de la inscripción de huellas dactilares private void EnrollFingerPrint(object sender, EventArgs e) { ZKFPEngX1.CancelEnroll(); ZKFPEngX1.EnrollCount = 3; ZKFPEngX1.BeginEnroll(); ShowHintInfo("Inicio de Registro"); }
void FingerMainForm_Shown(object sender, EventArgs e) { //连接指纹采集器 long nR = ZKFPEngX1.InitEngine(); if (nR == 0) { //FMatchType = 2; ZKFPEngX1.FPEngineVersion = "9"; //创建指纹识别高速缓冲空间 并返回其句柄 //fpcHandle = ZKFPEngX1.CreateFPCacheDB(); //Program.g_zkfp_handle = fpcHandle;// 与公共引用连接 ZKFPEngX1.EnrollCount = 3; this.sensorConnectionState.Text = "已连接"; this.连接指纹仪CToolStripMenuItem.Enabled = false; this.断开指纹仪DToolStripMenuItem.Enabled = true; } else { switch (nR) { case 1: this.sensorConnectionState.Text = "指纹识别驱动程序加载失败"; break; case 2: this.sensorConnectionState.Text = "没有连接指纹识别仪"; break; case 3: this.sensorConnectionState.Text = "指定指纹仪不存在"; break; } } }
//初始化连接 并显示相关信息到界面 private void btnInit_Click(object sender, EventArgs e) { long nR = ZKFPEngX1.InitEngine(); if (nR == 0) { btnInit.Enabled = false; FMatchType = 2; ShowHintInfo("Sensor connected"); if (Radio9.Checked) { ZKFPEngX1.FPEngineVersion = "9"; } else { ZKFPEngX1.FPEngineVersion = "10"; } //创建指纹识别高速缓冲空间 并返回其句柄 fpcHandle = ZKFPEngX1.CreateFPCacheDB(); EDSensorNum.Text = Convert.ToString(ZKFPEngX1.SensorCount); EDSensorIndex.Text = Convert.ToString(ZKFPEngX1.SensorIndex); EDSensorSN.Text = ZKFPEngX1.SensorSN; ZKFPEngX1.EnrollCount = 3; button1.Enabled = true; } else { ShowHintInfo("Failed to connecte sensor"); } }
private void btnDelFingerPrint_Click(object sender, EventArgs e) { if (_modoCargaImagen == Common.ModoCargaImagen.DesdeArchivo) { pbFingerPrint.Image = null; } else { if (ZKFPEngX1.IsRegister) { FingerPrintImageDisposing(); ZKFPEngX1.CancelEnroll(); ZKFPEngX1.EnrollCount = 3; ZKFPEngX1.BeginEnroll(); lblresult.Text = "Sensor de Huella conectado y Listo para iniciar registro."; ShowHintImage(3); } else { DialogResult rpta = MessageBox.Show("La huella ya esta verificada correctamente. \n¿ Desea volver a realizar el registro ? ", "ZK4500 Finger Print ", MessageBoxButtons.YesNo); if (rpta == DialogResult.Yes) { FingerPrintImageDisposing(); ZKFPEngX1.CancelEnroll(); ZKFPEngX1.EnrollCount = 3; ZKFPEngX1.BeginEnroll(); lblresult.Text = "Sensor de Huella conectado y Listo para iniciar registro."; ShowHintImage(3); } } //ZKFPEngX1.BeginCapture(); } }
//开始登记指纹 private void btnEnroll_Click(object sender, EventArgs e) { ZKFPEngX1.CancelEnroll(); ZKFPEngX1.EnrollCount = 3; ZKFPEngX1.BeginEnroll(); ShowHintInfo("Begin Register"); }
private void ZKFPEngX1_OnCapture(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnCaptureEvent e) { string stmp = ""; string Template = ZKFPEngX1.GetTemplateAsString(); bool ddd = false; if (_FingerPrintImage == null) { MessageBox.Show("El trabajador no tiene registrado su huella digital", "!INFORMACIÓN!", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } stmp = System.Convert.ToBase64String(_FingerPrintImage); if (ZKFPEngX1.VerFingerFromStr(ref Template, stmp, false, ref ddd)) { ShowHintImage(3); MessageBox.Show("Huella dáctilar correcta", "!INFORMACIÓN!", MessageBoxButtons.OK, MessageBoxIcon.Information); this.DialogResult = DialogResult.OK; } else { ShowHintImage(3); MessageBox.Show("Huella dáctilar incorrecta. Vuelva a intentar", "!ERROR DE VALIDACIÓN!", MessageBoxButtons.OK, MessageBoxIcon.Error); pbFingerPrint.Image = null; //this.DialogResult = DialogResult.Cancel; } }
private void btnDeviceConnect_Click(object sender, EventArgs e) { // prcDataInsert(); Chk = 0; long nR = ZKFPEngX1.InitEngine(); if (nR == 0) { EDSensorSN.Text = ZKFPEngX1.SensorSN; prcFingerIssuerSNCheck(EDSensorSN.Text); if (Chk == 0) { btnDeviceConnect.Enabled = false; FMatchType = 2; if (Radio9.Checked) { ZKFPEngX1.FPEngineVersion = "9"; } else { ZKFPEngX1.FPEngineVersion = "10"; } fpcHandle = ZKFPEngX1.CreateFPCacheDB(); EDSensorNum.Text = Convert.ToString(ZKFPEngX1.SensorCount); EDSensorIndex.Text = Convert.ToString(ZKFPEngX1.SensorIndex); ////EDSensorSN.Text = ZKFPEngX1.SensorSN; ShowHintInfo("Sensor connected"); ZKFPEngX1.EnrollCount = 3; if (ZKFPEngX1.IsRegister) { ZKFPEngX1.CancelEnroll(); } FAutoIdentify = false; ZKFPEngX1.SetAutoIdentifyPara(FAutoIdentify, fpcHandle, 8); ShowHintInfo("Begin verification. Please finger touch in device."); FMatchType = 2; lvlDataMatchImg.Visible = true; lvlDataMatchImg.Text = "Please Press Finger"; lvlDataMatchImg.ForeColor = Color.Blue; btnCancel.Enabled = true; } else { ZKFPEngX1.EndEngine(); ShowHintInfo("Failed to connect sensor"); } } else { ShowHintInfo("Failed to connect sensor"); } }
//比对指纹 private void btnVerify_Click(object sender, EventArgs e) { if (ZKFPEngX1.IsRegister) { ZKFPEngX1.CancelEnroll(); } FAutoIdentify = false; ZKFPEngX1.SetAutoIdentifyPara(FAutoIdentify, fpcHandle, 8); ShowHintInfo("begin verification(1:N)"); FMatchType = 2; }
private void btnCancel_Click(object sender, EventArgs e) { ZKFPEngX1.EndEngine(); btnDeviceConnect.Enabled = true; btnCancel.Enabled = false; lvlDataMatchImg.Visible = false; lvlDataMatch.Visible = false; picPreview.Image = null; ultraProgressBar1.Value = 0; EDSensorSN.Text = "0"; prcClearData(); }
//Show fingerprint image private void ZKFPEngX1_OnImageReceived(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnImageReceivedEvent e) { ShowHintImage(0); Graphics g = pbFingerPrint.CreateGraphics(); Bitmap bmp = new Bitmap(pbFingerPrint.Width, pbFingerPrint.Height); g = Graphics.FromImage(bmp); int dc = g.GetHdc().ToInt32(); ZKFPEngX1.PrintImageAt(dc, 0, 0, bmp.Width, bmp.Height); g.Dispose(); pbFingerPrint.Image = bmp; }
private void ZKFPEngX1_OnImageReceived(object sender, 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; }
// Initilization FingerPrint private void InitFingerPrint() { if (ZKFPEngX1.InitEngine() == 0) { //btnInit.Enabled = false; FMatchType = 2; lblresult.Text = "Sensor de Huella conectado y Listo."; ShowHintImage(3); ZKFPEngX1.FPEngineVersion = "9"; } else { lblresult.Text = "Error al conectar el sensor de Huella"; } }
//将指纹登记特征模版保存到指纹识别高速缓冲空间,并显示指纹登记结果 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); } }
//窗口初始化 private void FingerDemo_Load(object sender, EventArgs e) { if (ZKFPEngX1.InitEngine() == 0) { ZKFPEngX1.FPEngineVersion = "9"; ZKFPEngX1.EnrollCount = 1; ZKFPEngX1.CancelEnroll(); ZKFPEngX1.EnrollCount = 1; ZKFPEngX1.BeginEnroll(); } else { MessageBox.Show("Failed to connect Device \n" + "Please Connect properly", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.Close(); } }
private void ZKFPEngX1_OnEnroll(object sender, IZKFPEngXEvents_OnEnrollEvent e) { if (e.actionResult) { //MessageBox.Show("Fingerprint register success! ", "success! ", MessageBoxButtons.YesNo); ZKFPEngX1.AddRegTemplateStrToFPCacheDBEx(fpcHandle, 1, ZKFPEngX1.GetTemplateAsStringEx("10"), FP); FP = ZKFPEngX1.GetTemplateAsStringEx("10"); prcFingerDataSave(FP); ShowHintInfo("Fingerprint register success.[" + txtName.Text.ToString() + "]"); MessageBox.Show("Fingerprint register success.[" + txtName.Text.ToString() + "] ", "success! ", MessageBoxButtons.YesNo); lvlDataMatchImg.Text = "Fingerprint register success."; prcClearData(); } else { ShowHintInfo("Fingerprint register failed.[" + txtName.Text.ToString() + "]"); MessageBox.Show("Fingerprint register failed.[" + txtName.Text.ToString() + "] ", "failed! ", MessageBoxButtons.YesNo); lvlDataMatchImg.Text = "Fingerprint register failed."; } }
// private void ZKFPEngX1_OnEnroll(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnEnrollEvent e) { if (e.actionResult) { MessageBox.Show("Registro de Huella Dactilar Exitoso! ", "ZK4500 Finger Print ", MessageBoxButtons.OK); //e.aTemplate = ZKFPEngX1.GetTemplate(); //ZKFPEngX1.AddRegTemplateToFPCacheDB(fpcHandle, 1, e.aTemplate); ZKFPEngX1.AddRegTemplateStrToFPCacheDBEx(fpcHandle, 1, ZKFPEngX1.GetTemplateAsStringEx("9"), ZKFPEngX1.GetTemplateAsStringEx("10")); ShowHintInfo("Registro de Huella Dactilar Exitoso!"); lblresult.Text = "Registro de Huella Dactilar Exitoso!"; ShowHintImage(3); } else { ShowHintInfo("Error en Registro de Huella Dactilar"); MessageBox.Show("Error en Registro de Huella Dactilar ", "ZK4500 Finger Print ", MessageBoxButtons.OK); lblresult.Text = "Error en Registro de Huella Dactilar!"; ShowHintImage(2); } }
// Initilization FingerPrint private void InitFingerPrint() { if (ZKFPEngX1.InitEngine() == 0) { //btnInit.Enabled = false; FMatchType = 2; ShowHintInfo("Sensor conectado"); lblresult.Text = "Sensor de Huella conectado y Listo para iniciar registro"; ShowHintImage(3); ZKFPEngX1.FPEngineVersion = "9"; //Crear un espacio de caché de identificación de huellas dactilares y devuelve su identificador fpcHandle = ZKFPEngX1.CreateFPCacheDB(); //EDSensorNum.Text = Convert.ToString(ZKFPEngX1.SensorCount); //EDSensorIndex.Text = Convert.ToString(ZKFPEngX1.SensorIndex); //EDSensorSN.Text = ZKFPEngX1.SensorSN; ZKFPEngX1.EnrollCount = 3; //button1.Enabled = true; } else { ShowHintInfo("Error al conectar el sensor de Huella"); } }
// private void ZKFPEngX1_OnEnroll(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnEnrollEvent e) { if (e.actionResult) { try { e.aTemplate = ZKFPEngX1.GetTemplate(); //string database = "Database=SIVASHAKTHI;Server=202.63.115.34\\SBPL;User ID=sbpl;Password=sbpl123"; //SqlConnection con = new SqlConnection(database); //con.Open(); //string Query = ""; //Query = "select HAFP_FINGER_FP1,HAFP_FINGER_FP4 from HR_APPL_FINGER_PRINTS where HAFP_APPL_NUMBER='" + emp_appl_number + "' "; //SqlCommand cmd = new SqlCommand(Query, con); //SqlDataAdapter da = new SqlDataAdapter(cmd); //DataSet ds = new DataSet(); //da.Fill(ds); //if (ds.Tables[0].Rows.Count > 0) if (dtVerif.Rows.Count > 0) { try { //DataTable dt = ds.Tables[0]; DataTable dt = dtVerif; foreach (DataRow row in dt.Rows) { byte[] fptemp2 = (byte[])row["HAFP_FINGER_FP1"]; if (ZKFPEngX1.VerFinger(ref e.aTemplate, fptemp2, true, ref step2)) { fpstatus = true; this.Close(); return; } else { fpstatus = false; this.Close(); } if (!DBNull.Value.Equals(row["HAFP_FINGER_FP4"])) { fptemp2 = (byte[])row["HAFP_FINGER_FP4"]; if (ZKFPEngX1.VerFinger(ref e.aTemplate, fptemp2, true, ref step2)) { fpstatus = true; this.Close(); return; } else { fpstatus = false; this.Close(); } } } ZKFPEngX1.EndEngine(); } catch (Exception EX) { MessageBox.Show(EX.Message); PictureBox1.Image = null; } } } catch (Exception ex) { MessageBox.Show(ex.Message); } } else { //ShowHintInfo("Fingerprint register failed"); MessageBox.Show("Fingerprint register failed ", "提示! ", MessageBoxButtons.YesNo, MessageBoxIcon.Stop); } }
private void btnCancelRegisterPrint_Click(object sender, EventArgs e) { ZKFPEngX1.CancelEnroll(); ShowHintInfo("取消登记指纹"); }
// private void ZKFPEngX1_OnEnroll(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnEnrollEvent e) { if (e.actionResult) { try { e.aTemplate = ZKFPEngX1.GetTemplate(); if (lblMessage.Text == "To Confirm Again Put finger on the Device") { if (ZKFPEngX1.VerFinger(ref e.aTemplate, oldEmptemplate, true, ref step2)) { fpstatus = true; this.Close(); return; } else { fpstatus = false; MessageBox.Show("Fingerprint Not Matched ", "", MessageBoxButtons.OK, MessageBoxIcon.Stop); this.Close(); return; } //Emptemplate = (byte[])e.aTemplate; ZKFPEngX1.EndEngine(); MessageBox.Show("Fingerprint Added Successfully "); this.Close(); } else { string database = "Database=SIVASHAKTHI;Server=202.63.115.34\\SBPL;User ID=sbpl;Password=sbpl123"; SqlConnection con = new SqlConnection(database); con.Open(); string Query = ""; Query = "select HAFP_FINGER_FP1,HAFP_FINGER_FP4 from HR_APPL_FINGER_PRINTS "; //SqlCommand cmd = new SqlCommand(Query, con); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = "GetEmpFingerPrintsFromBranch"; cmd.CommandType = CommandType.StoredProcedure; SqlParameter param = new SqlParameter(); param.ParameterName = "@xBranchCode"; param.DbType = DbType.String; param.Value = Branch; param.Direction = ParameterDirection.Input; cmd.Parameters.Add(param); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); //DataSet ds = null; if (ds.Tables[0].Rows.Count > 0) { DataTable dt = ds.Tables[0]; foreach (DataRow row in dt.Rows) { byte[] fptemp2 = (byte[])row["HAFP_FINGER_FP1"]; if (ZKFPEngX1.VerFinger(ref e.aTemplate, fptemp2, true, ref step2)) { fpstatus = true; // sEcode = (int)row["ECODE"]; sEcode = Convert.ToInt32(row["ECODE"].ToString()); this.Close(); return; } else { fpstatus = false; sEcode = Convert.ToInt32(row["ECODE"].ToString()); this.Close(); } if (!DBNull.Value.Equals(row["HAFP_FINGER_FP4"])) { fptemp2 = (byte[])row["HAFP_FINGER_FP4"]; if (ZKFPEngX1.VerFinger(ref e.aTemplate, fptemp2, true, ref step2)) { fpstatus = true; //sEcode = (int)row["ECODE"]; sEcode = Convert.ToInt32(row["ECODE"].ToString()); this.Close(); return; } else { fpstatus = false; //sEcode = (int)row["ECODE"]; sEcode = Convert.ToInt32(row["ECODE"].ToString()); this.Close(); } } } } Emptemplate = (byte[])e.aTemplate; ZKFPEngX1.EndEngine(); //MessageBox.Show("Updated"); //PictureBox1.Image = null; } } catch (Exception ex) { MessageBox.Show(ex.Message); PictureBox1.Image = null; } } else { //ShowHintInfo("Fingerprint register failed"); MessageBox.Show("Fingerprint register failed ", "提示! ", MessageBoxButtons.YesNo, MessageBoxIcon.Stop); this.Close(); } }
private void ZKFPEngX1_OnCapture(object sender, IZKFPEngXEvents_OnCaptureEvent e) { int FingerCount = 0; fpcHandle = ZKFPEngX1.CreateFPCacheDB(); FP = ZKFPEngX1.GetTemplateAsStringEx("10"); ZKFPEngX1.AddRegTemplateStrToFPCacheDBEx(fpcHandle, 1, FP, FP); int ID = 0, i, T = 0, fi; int Score = new int(); int ProcessNum = new int(); ShowHintInfo("Acquired fingerprint template:"); ArrayList arQuery = new ArrayList(); GTRLibrary.clsConnection clsCon = new GTRLibrary.clsConnection(); dsDetails = new DataSet(); string sqlQuery = ""; if (FMatchType == 1) { //ZKFPEngX1.VerFingerFromStr(sRegTemp, sVerTemplate, False, ref regChange) } if (FMatchType == 2)//1:N { if (!FAutoIdentify) { sqlQuery = "Exec [prcGetEmpRelIssuer] 0," + Common.Classes.clsMain.intComId + ",0"; clsCon.GTRFillDatasetWithSQLCommand(ref dsDetails, sqlQuery); dsDetails.Tables[0].TableName = "FingerData"; int rowCount; for (rowCount = 0; rowCount < dsDetails.Tables["FingerData"].Rows.Count; rowCount++) { if (dsDetails.Tables["FingerData"].Rows[rowCount][0].ToString().Trim().Length > 0 && dsDetails.Tables["FingerData"].Rows[rowCount]["FingerData"].ToString().Trim().Length > 0) { EmpCode = dsDetails.Tables["FingerData"].Rows[rowCount]["EmpId"].ToString(); FPData = dsDetails.Tables["FingerData"].Rows[rowCount]["FingerData"].ToString(); if (Radio9.Checked) { ZKFPEngX1.FPEngineVersion = "9"; Score = 8; ID = ZKFPEngX1.IdentificationFromStrInFPCacheDB(fpcHandle, FPData, ref Score, ref ProcessNum); } else { ZKFPEngX1.FPEngineVersion = "10"; Score = 8; ID = ZKFPEngX1.IdentificationFromStrInFPCacheDB(fpcHandle, FPData, ref Score, ref ProcessNum); } if (ID == -1) { T = 0; } else { String strTemp = "Identification success!\n" + " Score =" + Convert.ToString(Score); ultraProgressBar1.Value = Score; ShowHintInfo(strTemp); ShowHintInfo("Verify success"); T = 1; prcFingerVerifySuccess(); prcDisplayDetails(EmpCode.ToString()); goto Outer; //prcClearData(); //ShowHintImage(1); } } } if (T == 0) { ShowHintInfo("Identification Failed! Score = " + Convert.ToString(Score)); ShowHintInfo("Sorry,Verify failed!"); prcFingerVerifyFailed(); //prcClearData(); } Outer: Console.WriteLine("Verify success"); } else { ID = 0; Score = 0; //e.aTemplateobject 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) { ShowHintInfo("Fingerprint Auto Identify Failed!"); //ShowHintImage(2); } else { ShowHintInfo("Fingerprint Auto identification success! Score =" + Convert.ToString(Score)); //ShowHintImage(1); } } } }
private void btnDisconnect_Click(object sender, EventArgs e) { ZKFPEngX1.EndEngine(); }
//desconectar private void DisconnectFingerPrint() { ZKFPEngX1.EndEngine(); //btnInit.Enabled = true; //button1.Enabled = false; }
private void btnRegister_Click(object sender, EventArgs e) { ZKFPEngX1.BeginEnroll(); MessageBox.Show("Register Begin"); ShowHintInfo("Register Begin"); }
//断开 private void button1_Click(object sender, EventArgs e) { ZKFPEngX1.EndEngine(); btnInit.Enabled = true; button1.Enabled = false; }
//指纹比对事件 (该例中只有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); } } } }
// Eventos para la huella digital (en este ejemplo, sólo 1: N coincidente: el espacio de caché con la información de huellas dactilares de identificación de huellas digitales para comparación) private void ZKFPEngX1_OnCapture(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnCaptureEvent e) { int ID, i; int Score = new int(); int ProcessNum = new int(); ShowHintInfo("Adquiriendo fingerprint plantilla:"); if (FMatchType == 1) // 1:1 { //ZKFPEngX1.VerFingerFromStr(sRegTemp, sVerTemplate, False, ref regChange) } if (FMatchType == 2) //1:N { if (!FAutoIdentify) { // recommended value is 9 Score = 9; ZKFPEngX1.FPEngineVersion = "9"; //var ss = (Array)ZKFPEngX1.GetTemplate(); //object bm = null; //var img = ZKFPEngX1.GetFingerImage(ref bm); //pictureBox1.Image = Common.Utils.byteArrayToImage((byte[])bm); //bool b = ZKFPEngX1.SaveTemplate("________tplGiovanny____", ZKFPEngX1.GetTemplate()); ID = ZKFPEngX1.IdentificationFromStrInFPCacheDB(fpcHandle, ZKFPEngX1.GetTemplateAsStringEx("9"), ref Score, ref ProcessNum); if (ID == -1) { ShowHintInfo("Error Identificando Puntuación! = " + Convert.ToString(Score)); ShowHintImage(2); } else { String strTemp = "Identificación exitosa!\n" + " Score =" + Convert.ToString(Score); ShowHintInfo(strTemp); ShowHintImage(1); } if (ID > 0) { lblresult.Text = "Verificación exitosa"; } else { lblresult.Text = "Lo sentimos, Error en la verificación!"; } } else { ID = 0; Score = 0; // e.aTemplate datos para el tipo de objeto, que se aisló y se convierte en un entero Array _ObjectArray = (Array)e.aTemplate; int _ObjectCount = _ObjectArray.GetLength(0); ID = Convert.ToInt32(_ObjectArray.GetValue(0)); Score = Convert.ToInt32(_ObjectArray.GetValue(1)); //FingerPrintTemplate = ((int[])e.aTemplate).Select(x => (byte)x).ToArray(); if (ID == -1) { lblresult.Text = "Error en Auto Identificación de Huella Dactilar!"; ShowHintInfo("Error en Auto Identificación de Huella Dactilar!"); ShowHintImage(2); } else { lblresult.Text = "Auto Identificación de Huella Dactilar exitosa!"; ShowHintInfo("Auto Identificación de Huella Dactilar exitosa! Puntuación =" + Convert.ToString(Score)); ShowHintImage(1); } } } }
private void btnAutoverify_Click(object sender, EventArgs e) { FAutoIdentify = true; ZKFPEngX1.SetAutoIdentifyPara(FAutoIdentify, fpcHandle, 8); FMatchType = 2; }
private void btnOK_Click(object sender, EventArgs e) { try { if (pbFingerPrint.Image == null) { FingerPrintImage = null; } if (ZKFPEngX1.GetTemplate().ToString() != string.Empty) { FingerPrintTemplate = (byte[])ZKFPEngX1.GetTemplate(); // Imagen de la huella object image = null; bool result = ZKFPEngX1.GetFingerImage(ref image); // Bajar el peso de la huella ******************************************* FingerPrintImage = Common.Utils.byteArrayToByteArrayImageJpg((byte[])image); //*********************************************************************** } else { if (_modoCargaImagen == Common.ModoCargaImagen.DesdeArchivo) { FingerPrintImage = Common.Utils.ImageToByteArrayImageJpg1(pbFingerPrint.Image); } } sigPlusNET1.SetImageXSize(500); sigPlusNET1.SetImageYSize(150); sigPlusNET1.SetJustifyMode(5); // Firma imagen var myimage = sigPlusNET1.GetSigImage(); RubricImage = Common.Utils.ImageToByteArrayImageJpg(myimage); myimage.Dispose(); if (sigPlusNET1.GetSigString() == "300D0A300D0A") { MessageBox.Show("No se permite grabar sin firma", "ERROR!", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // Firma serializada en formato ASCII hex string RubricImageText = sigPlusNET1.GetSigString(); //var str2 = BitConverter.ToString(RubricImage); //string base64ImageRepresentation = Convert.ToBase64String(RubricImage); //string re = System.Text.Encoding.UTF8.GetString(RubricImage); //var ss = ToHexString(RubricImage); DisconnectFingerPrint(); this.DialogResult = DialogResult.OK; } catch (Exception ex) { MessageBox.Show(Common.Utils.ExceptionFormatter(ex), "ERROR!", MessageBoxButtons.OK, MessageBoxIcon.Error); } }