public static NitgenBiometriaTask Novo(IList <Biometria> biometrias) { var nitgenMainApi = new NBioAPI(); var conversor = new NBioAPI.Export(nitgenMainApi); return(new NitgenBiometriaTask(Guid.NewGuid(), nitgenMainApi, conversor, biometrias)); }
public SdkNitgen() { _api = new NBioAPI(); _apiConversor = new NBioAPI.Export(_api); _apiBusca = new NBioAPI.IndexSearch(_api); _apiBusca.InitEngine(); }
internal NitgenBiometriaTask(Guid id, NBioAPI mecanismoBusca, NBioAPI.Export conversor, IList <Biometria> biometrias) { Id = id; MecanismoBusca = mecanismoBusca; Conversor = conversor; Biometrias = biometrias; }
private DigitalTask Create(NBioAPI.Type.HFIR template, IEnumerable <Biometria> biometrias) { var nitgenMainApi = new NBioAPI(); var nitgenSearchApi = new NBioAPI.IndexSearch(nitgenMainApi); nitgenSearchApi.InitEngine(); var nitgenConvertApi = new NBioAPI.Export(nitgenMainApi); var contextoIdentificacao = BiometriaIndentificacaoContexto.Novo(nitgenSearchApi, nitgenConvertApi); contextoIdentificacao.TemplateLido = template; var cancellationToken = new CancellationTokenSource(); var token = cancellationToken.Token; foreach (var biometria in biometrias) { NBioAPI.Type.HFIR handle; NBioAPI.IndexSearch.FP_INFO[] nitgenBiometria; nitgenConvertApi.FDxToNBioBSPEx(biometria.TemplateISO, (uint)biometria.TemplateISO.Length, NBioAPI.Type.MINCONV_DATA_TYPE.MINCONV_TYPE_ISO, NBioAPI.Type.FIR_PURPOSE.ENROLL_FOR_IDENTIFICATION_ONLY, out handle); nitgenSearchApi.AddFIR(handle, (uint)biometria.Id, out nitgenBiometria); } var task = new Task <int>((parametroState) => { var contexto = parametroState as BiometriaIndentificacaoContexto; Console.WriteLine($"{contexto.Id} - Iniciado "); if (token.IsCancellationRequested) { token.ThrowIfCancellationRequested(); } // Faz o Index Search var cbInfo = new NBioAPI.IndexSearch.CALLBACK_INFO_0(); NBioAPI.IndexSearch.FP_INFO nitgenBiometria; var relogio = new Stopwatch(); Console.WriteLine($"{contexto.Id} - Localizando biometria..."); relogio.Start(); var retorno = nitgenSearchApi.IdentifyData(contexto.TemplateLido, NBioAPI.Type.FIR_SECURITY_LEVEL.HIGH, out nitgenBiometria, cbInfo); relogio.Stop(); Console.WriteLine($"{contexto.Id} - Localizado {nitgenBiometria.ID} em {relogio.Elapsed.TotalSeconds}"); if (token.IsCancellationRequested) { token.ThrowIfCancellationRequested(); } Console.WriteLine($"{contexto.Id} - Finalizado "); return((int)nitgenBiometria.ID); }, contextoIdentificacao, token); return(new DigitalTask(contextoIdentificacao.Id, task, cancellationToken)); }
public ContextoParaIndentificacaoBiometrica(Guid id, NBioAPI mecanismoBusca, NBioAPI.IndexSearch mecanismoConfirmacao, NBioAPI.Export conversor, NBioAPI.Type.HFIR templateLido, IEnumerable <Biometria> biometrias) { Id = id; MecanismoBusca = mecanismoBusca; TemplateLido = templateLido; Biometrias = biometrias; MecanismoConfirmacao = mecanismoConfirmacao; Conversor = conversor; }
public Form1() { InitializeComponent(); m_NBioAPI = new NBioAPI(); m_Export = new NBioAPI.Export(m_NBioAPI); NBioAPI.Type.VERSION ver; m_NBioAPI.GetVersion(out ver); this.Text = "NExportRawToISO Test[eNBioBS SDK Ver: " + ver.Major + "." + ver.Minor + "]"; }
public Form1() { InitializeComponent(); this.bt_converter.Enabled = false; this.pathfilename.Enabled = false; this.button1.Enabled = false; this.txt_textencode.Enabled = false; this.button2.Enabled = false; //inveção de dependências nBioAPI = new NBioAPI(); m_Export = new NBioAPI.Export(nBioAPI); }
public Form1() { InitializeComponent(); //inicializa variáveis Necessárias para NBIOBSP. m_NBioAPI = new NBioAPI(); m_WinOption = new NBioAPI.Type.WINDOW_OPTION(); m_Export = new NBioAPI.Export(m_NBioAPI); utils = new Utils(m_NBioAPI); if (string.IsNullOrWhiteSpace(richTextBox1.Text)) { richTextBox1.Text = "insira o Template aqui"; } }
public Byte[] getfingerImage(NBioAPI.Type.HFIR Fir_toImage) { NBioAPI m_NBioAPI = new NBioAPI(); NBioAPI.Export.EXPORT_AUDIT_DATA exportData; NBioAPI.Export m_Export = new NBioAPI.Export(m_NBioAPI); m_Export.NBioBSPToImage(Fir_toImage, out exportData); Bitmap bmp; int nWidth = (int)exportData.ImageWidth; int nHeight = (int)exportData.ImageHeight; { // bmp image save... bmp = new Bitmap(nWidth, nHeight, PixelFormat.Format8bppIndexed); BitmapData data = bmp.LockBits(new Rectangle(0, 0, nWidth, nHeight), ImageLockMode.WriteOnly, PixelFormat.Format8bppIndexed); System.Runtime.InteropServices.Marshal.Copy(exportData.AuditData[0].Image[0].Data, 0, data.Scan0, nWidth * nHeight); bmp.UnlockBits(data); ColorPalette GrayscalePalette = bmp.Palette; for (int i = 0; i < 256; i++) { GrayscalePalette.Entries[i] = Color.FromArgb(i, i, i); } bmp.Palette = GrayscalePalette; // bmp.Save("RollImage.bmp"); } //Image img = bmp; MemoryStream stream = new MemoryStream(); bmp.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp); Byte[] bytes = stream.ToArray(); return(bytes); }
//injeção de dependência public Utils(NBioAPI m_NBioAPI) { this.m_NBioAPI = m_NBioAPI; m_Export = new NBioAPI.Export(m_NBioAPI); }
public static BiometriaIndentificacaoContexto Novo(NBioAPI.IndexSearch mecanismoBusca, NBioAPI.Export conversor) => new BiometriaIndentificacaoContexto(Guid.NewGuid(), mecanismoBusca, conversor);
public BiometriaIndentificacaoContexto(Guid id, NBioAPI.IndexSearch mecanismoBusca, NBioAPI.Export conversor) { Id = id; MecanismoBusca = mecanismoBusca; Conversor = conversor; }
//injeção de dependência public Utils() { m_NBioAPI = new NBioAPI(); m_Export = new NBioAPI.Export(m_NBioAPI); }
public void Leitura(string Arquivo, string PathSalvamento) { NBioAPI HandleBio; uint Retorno = NBioAPI.Error.NONE; uint NenhumErro = NBioAPI.Error.NONE; NBioAPI.Type.MINCONV_DATA_TYPE importType; NBioAPI.Export m_Export; NBioAPI.Type.HFIR processedFIR; NBioAPI.Type.INIT_INFO_0 initInfo0; uint nSize = 0; byte[] minData = null; //----------------------- try { FileStream fs = new FileStream(PathSalvamento + Arquivo, FileMode.Open, FileAccess.Read); BinaryReader fr = new BinaryReader(fs); nSize = (uint)fs.Length; minData = new byte[nSize]; fr.Read(minData, 0, (int)nSize); fr.Close(); fs.Close(); } catch (FileNotFoundException e) { MessageBox.Show("Erro localizar arquivo biometrico\n" + e.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } HandleBio = new NBioAPI(); HandleBio.OpenDevice(NBioAPI.Type.DEVICE_ID.AUTO); if (Retorno != NenhumErro) { MessageBox.Show("Erro ao verificar digital", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); HandleBio.Dispose(); return; } importType = NBioAPI.Type.MINCONV_DATA_TYPE.MINCONV_TYPE_FDU; m_Export = new NBioAPI.Export(HandleBio); Retorno = m_Export.FDxToNBioBSPEx(minData, nSize, importType, NBioAPI.Type.FIR_PURPOSE.VERIFY, out processedFIR); if (Retorno != NenhumErro) { MessageBox.Show("Erro ao verificar digital", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); HandleBio.CloseDevice(NBioAPI.Type.DEVICE_ID.AUTO); HandleBio.Dispose(); return; } Retorno = HandleBio.GetInitInfo(out initInfo0); if (Retorno != NenhumErro) { MessageBox.Show("Erro ao coletar informações do dispositivo", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); HandleBio.Dispose(); return; } initInfo0.EnrollImageQuality = 90; initInfo0.VerifyImageQuality = 90; initInfo0.SecurityLevel = 7; Retorno = HandleBio.SetInitInfo(initInfo0); if (Retorno != NenhumErro) { MessageBox.Show("Erro ao setar informações iniciais do dispositivo", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); HandleBio.Dispose(); return; } Boolean bResult; Retorno = HandleBio.Verify(processedFIR, out bResult, null); if (Retorno != NenhumErro) { MessageBox.Show("Erro ao verificar digital", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { if (!bResult) { MessageBox.Show("Vendedor não autenticado", "Falha ao autenticar", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { try { MessageBox.Show("Autenticação realizada com sucesso", "Sucesso!!", MessageBoxButtons.OK, MessageBoxIcon.None); FileStream validacao = new FileStream(Path.GetTempPath() + "Result_" + Arquivo, FileMode.CreateNew, FileAccess.Write); BinaryWriter fw = new BinaryWriter(validacao); fw.Write("#$&%&$*%¨$*$¨%$*&($$)$)$¨$&¨%$*$&¨#%%(*%)"); fw.Close(); validacao.Close(); } catch (FileNotFoundException e) { MessageBox.Show("Erro localizar arquivo biometrico\n" + e.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } } HandleBio.CloseDevice(NBioAPI.Type.DEVICE_ID.AUTO); }
public void Gravar(string Arquivo, string PathSalvamento) { //Declaracao de variaveis NBioAPI HandleBio; uint Retorno = NBioAPI.Error.NONE; uint NenhumErro = NBioAPI.Error.NONE; short Dispositivo = NBioAPI.Type.DEVICE_ID.AUTO; NBioAPI.Type.HFIR CapturedFir; NBioAPI.Export export; NBioAPI.Type.MINCONV_DATA_TYPE tipo; NBioAPI.Export.EXPORT_DATA exportDados; NBioAPI.Type.INIT_INFO_0 initInfo0; //----------------------- //----------------------- HandleBio = new NBioAPI(); Retorno = HandleBio.OpenDevice(Dispositivo); if (Retorno != NenhumErro) { MessageBox.Show("Erro ao cadastrar biometria", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); HandleBio.Dispose(); return; } Retorno = HandleBio.GetInitInfo(out initInfo0); if (Retorno != NenhumErro) { MessageBox.Show("Erro ao coletar informações do dispositivo", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); HandleBio.Dispose(); return; } initInfo0.EnrollImageQuality = 90; initInfo0.VerifyImageQuality = 90; initInfo0.SecurityLevel = 7; Retorno = HandleBio.SetInitInfo(initInfo0); if (Retorno != NenhumErro) { MessageBox.Show("Erro ao setar informações iniciais do dispositivo", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); HandleBio.Dispose(); return; } Retorno = HandleBio.Capture(NBioAPI.Type.FIR_PURPOSE.VERIFY, out CapturedFir, NBioAPI.Type.TIMEOUT.DEFAULT, null, null); if (Retorno != NenhumErro) { MessageBox.Show("Erro ao cadastrar biometria", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); HandleBio.CloseDevice(Dispositivo); HandleBio.Dispose(); return; } export = new NBioAPI.Export(HandleBio); tipo = NBioAPI.Type.MINCONV_DATA_TYPE.MINCONV_TYPE_FDU; export.NBioBSPToFDx(CapturedFir, out exportDados, tipo); for (int f = 0; f < exportDados.FingerNum; f++) { for (int s = 0; s < exportDados.SamplesPerFinger; s++) { try { FileStream fs = new FileStream(PathSalvamento + Arquivo, FileMode.OpenOrCreate, FileAccess.Write); BinaryWriter fw = new BinaryWriter(fs); fw.Write(exportDados.FingerData[f].Template[s].Data); fw.Close(); fs.Close(); } catch (FileNotFoundException e) { MessageBox.Show("Erro criar template biometrico\n" + e.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); HandleBio.CloseDevice(Dispositivo); HandleBio.Dispose(); return; } } } HandleBio.CloseDevice(Dispositivo); HandleBio.Dispose(); }