private bool ExtractTemplate(byte[] Template, out int TemplateSize) { UFS_STATUS ufs_res; int EnrollQuality; m_Scanner.ClearCaptureImageBuffer(); //tbxMessage.AppendText("Place Finger\r\n"); TemplateSize = 0; while (true) { ufs_res = m_Scanner.CaptureSingleImage(); if (ufs_res != UFS_STATUS.OK) { UFScanner.GetErrorString(ufs_res, out m_strError); //tbxMessage.AppendText("UFScanner CaptureSingleImage: " + m_strError + "\r\n"); return(false); } ufs_res = m_Scanner.Extract(Template, out TemplateSize, out EnrollQuality); if (ufs_res == UFS_STATUS.OK) { //tbxMessage="UFScanner Extract: OK\r\n"); break; } else { UFScanner.GetErrorString(ufs_res, out m_strError); // tbxMessage="UFScanner Extract: " + m_strError + "\r\n"); } } return(true); }
private bool ExtractTemplate(byte[] Template, out int TemplateSize) { UFS_STATUS ufs_res; int EnrollQuality; if (m_Scanner != null) { m_Scanner.ClearCaptureImageBuffer(); } TemplateSize = 0; while (true) { ufs_res = m_Scanner.CaptureSingleImage(); if (ufs_res != UFS_STATUS.OK) { return(false); } ufs_res = m_Scanner.Extract(Template, out TemplateSize, out EnrollQuality); if (ufs_res == UFS_STATUS.OK) { break; } } return(true); }
private UFS_STATUS ExtractTemplate(UFScanner scanner) { try { byte[] template = new byte[TemplateBufferSize]; int enrollQuality = 0; UFS_STATUS ufsRes = scanner.Extract(template, out _templateSize, out enrollQuality); if (ufsRes == UFS_STATUS.OK) { if (template.Length != TemplateBufferSize) { //WriteLog(true, "Invalid template size, try again"); //return UFS_STATUS.ERR_NOT_GOOD_IMAGE; byte[] tmp = new byte[TemplateBufferSize]; for (int i = template.Length - 1; i < tmp.Length; i++) { tmp[i] = 0; } template = tmp; } WriteLog("Template capturing completed"); WriteLog(string.Format("Template quality is {0}", enrollQuality)); if (enrollQuality < Settings.MinimalTemplateQualityPercent) { MessageBoxResult result = MessageBox.Show("The quality of captured template is too low for using it, Would you like to retry template capturing?", "Poor template quality", MessageBoxButton.YesNo, MessageBoxImage.Information); if (result == MessageBoxResult.Yes) { CaptureTemplate(this, null); } } else { _template = Encoding.ASCII.GetString(TemplateConverter.ConvertToSynelTemplateFormat(template)); System.Drawing.Bitmap bitm = null; int resolution = 0; scanner.GetCaptureImageBuffer(out bitm, out resolution); fingerImage.Source = loadBitmap(bitm); } } else { string error = string.Empty; UFScanner.GetErrorString(ufsRes, out error); WriteLog(error, false); } return(ufsRes); } catch (Exception exc) { WriteLog(exc.Message, true); } return(UFS_STATUS.ERROR); }