public void Capture(short Dispositivo, PictureBox Pct, Label labelImgQuality, Label LblFinalizacaoSelecionado, TipoDedo Dedo, TipoMao Mao, out NBioAPI.Type.FIR MyFir, out NBioAPI.Type.FIR_TEXTENCODE textFIR, bool Infinito) { LabelQualidadeSelecionado = labelImgQuality; LabelFinalizacaoSelecionado = LblFinalizacaoSelecionado; m_WinOption.WindowStyle = NBioAPI.Type.WINDOW_STYLE.INVISIBLE; m_WinOption.Option2.FPForeColor[0] = Convert.ToByte("00", 16); m_WinOption.Option2.FPForeColor[1] = Convert.ToByte("00", 16); m_WinOption.Option2.FPForeColor[2] = Convert.ToByte("00", 16); m_WinOption.Option2.FPBackColor[0] = Convert.ToByte("FF", 16); m_WinOption.Option2.FPBackColor[1] = Convert.ToByte("FF", 16); m_WinOption.Option2.FPBackColor[2] = Convert.ToByte("FF", 16); m_WinOption.FingerWnd = (uint)Pct.Handle.ToInt32(); // Callback funtion m_WinOption.CaptureCallBackInfo = new NBioAPI.Type.CALLBACK_INFO_0(); m_WinOption.CaptureCallBackInfo.CallBackFunction = new NBioAPI.Type.WINDOW_CALLBACK_0(MyCaptureCallback); m_WinOption.FinishCallBackInfo = new NBioAPI.Type.CALLBACK_INFO_1(); m_WinOption.FinishCallBackInfo.CallBackFunction = new NBioAPI.Type.WINDOW_CALLBACK_1(MyFinishCallback); // Select finger for enrollment if (Mao == Biometria.TipoMao.Direita) { m_WinOption.Option2.DisableFingerForEnroll[0] = (byte)NBioAPI.Type.TRUE; m_WinOption.Option2.DisableFingerForEnroll[1] = (byte)NBioAPI.Type.TRUE; m_WinOption.Option2.DisableFingerForEnroll[2] = (byte)NBioAPI.Type.TRUE; m_WinOption.Option2.DisableFingerForEnroll[3] = (byte)NBioAPI.Type.TRUE; m_WinOption.Option2.DisableFingerForEnroll[4] = (byte)NBioAPI.Type.TRUE; m_WinOption.Option2.DisableFingerForEnroll[5] = (byte)NBioAPI.Type.TRUE; m_WinOption.Option2.DisableFingerForEnroll[6] = (byte)NBioAPI.Type.TRUE; m_WinOption.Option2.DisableFingerForEnroll[7] = (byte)NBioAPI.Type.TRUE; m_WinOption.Option2.DisableFingerForEnroll[8] = (byte)NBioAPI.Type.TRUE; m_WinOption.Option2.DisableFingerForEnroll[9] = (byte)NBioAPI.Type.TRUE; switch (Dedo) { case Biometria.TipoDedo.Anelar: { m_WinOption.Option2.DisableFingerForEnroll[3] = NBioAPI.Type.FALSE; break; } case Biometria.TipoDedo.Indicador: { m_WinOption.Option2.DisableFingerForEnroll[1] = NBioAPI.Type.FALSE; break; } case Biometria.TipoDedo.Médio: { m_WinOption.Option2.DisableFingerForEnroll[2] = (byte)NBioAPI.Type.FALSE; break; } case Biometria.TipoDedo.Mínimo: { m_WinOption.Option2.DisableFingerForEnroll[4] = NBioAPI.Type.FALSE; break; } case Biometria.TipoDedo.Polegar: { m_WinOption.Option2.DisableFingerForEnroll[0] = NBioAPI.Type.FALSE; break; } } } else { switch (Dedo) { case Biometria.TipoDedo.Anelar: { m_WinOption.Option2.DisableFingerForEnroll[8] = NBioAPI.Type.FALSE; break; } case Biometria.TipoDedo.Indicador: { m_WinOption.Option2.DisableFingerForEnroll[6] = NBioAPI.Type.FALSE; break; } case Biometria.TipoDedo.Médio: { m_WinOption.Option2.DisableFingerForEnroll[7] = (byte)NBioAPI.Type.FALSE; break; } case Biometria.TipoDedo.Mínimo: { m_WinOption.Option2.DisableFingerForEnroll[9] = NBioAPI.Type.FALSE; break; } case Biometria.TipoDedo.Polegar: { m_WinOption.Option2.DisableFingerForEnroll[5] = NBioAPI.Type.FALSE; break; } } } NBioAPI.Type.HFIR hCapturedFIR; m_NBioAPI.OpenDevice(NBioAPI.Type.DEVICE_ID.AUTO); if (Infinito) { m_NBioAPI.Capture(out hCapturedFIR, NBioAPI.Type.TIMEOUT.INFINITE, m_WinOption); } else { m_NBioAPI.Capture(out hCapturedFIR, NBioAPI.Type.TIMEOUT.DEFAULT, m_WinOption); } try { m_NBioAPI.GetFIRFromHandle(hCapturedFIR, out MyFir); m_NBioAPI.GetTextFIRFromHandle(hCapturedFIR, out textFIR, true); m_NBioAPI.CloseDevice(Dispositivo); } catch (Exception ex) { textFIR = null; MyFir = null; } }
public DedoBuilder DoTipo(TipoDedo tipo) { this.tipo = tipo; return this; }