//salva a digital em formato MINCONV_TYPE_FIM01_H.min
        private void Button2_Click_1(object sender, EventArgs e)
        {
            NBioAPI.Export.EXPORT_DATA exportData;
            uint           ret = m_Export.NBioBSPToFDx(processedFIR, out exportData, NBioAPI.Type.MINCONV_DATA_TYPE.MINCONV_TYPE_FIM01_HV);
            SaveFileDialog saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
            string         szFileName = "", szFileName2 = "";

            saveFileDialog1.Filter = "MIN files (*.min)|*.min|All files (*.*)|*.*";

            if (saveFileDialog1.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }

            szFileName = saveFileDialog1.FileName;

            if (szFileName != "")
            {
                for (int f = 0; f < exportData.FingerNum; f++)
                {
                    for (int s = 0; s < exportData.SamplesPerFinger; s++)
                    {
                        szFileName2 = Path.GetDirectoryName(szFileName) + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(szFileName) + "_" + f.ToString() + "_" + s.ToString() + Path.GetExtension(szFileName);

                        FileStream   fs = new FileStream(szFileName2, FileMode.OpenOrCreate, FileAccess.Write);
                        BinaryWriter fw = new BinaryWriter(fs);
                        fw.Write(exportData.FingerData[f].Template[s].Data);
                        fw.Close();
                        fs.Close();
                    }
                }
            }
        }
Beispiel #2
0
        private uint ConvertISO4ToISO2(byte[] ISOBuf, out NBioAPI.Export.EXPORT_DATA exportData)
        {
            NBioBSPISO4.NIMPORTRAWSET ImportRawSet;
            string szTemp;

            listRet.Items.Add("ISO 19794-2 data creation start...");

            exportData = new NBioAPI.Export.EXPORT_DATA();

            uint nRet = NBioBSPISO4.ImportISOToRaw(ISOBuf, out ImportRawSet);

            if (nRet == NBioAPI.Error.NONE)
            {
                NBioAPI.Type.HFIR hProcessedFIR;

                nRet = MakeFIRFromRawSet(ImportRawSet, out hProcessedFIR);

                if (nRet == NBioAPI.Error.NONE)
                {
                    // Make ISO 19794-2 Data
                    nRet = m_Export.NBioBSPToFDx(hProcessedFIR, out exportData, NBioAPI.Type.MINCONV_DATA_TYPE.MINCONV_TYPE_ISO);

                    if (nRet != NBioAPI.Error.NONE)
                    {
                        szTemp = "NBioBSPToFDx Error: " + nRet;
                        listRet.Items.Add(szTemp);
                    }

                    hProcessedFIR.Dispose();
                }
            }
            else
            {
                szTemp = "ImportISOToRaw Error: " + nRet;
                listRet.Items.Add(szTemp);
            }

            return(nRet);
        }
Beispiel #3
0
        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();
        }