private void Stream_Shown(object sender, EventArgs e) { Application.DoEvents(); pbFingerprint.Image = null; if (!_sender.OpenReader()) { MessageBox.Show("Cannot open this reader in this environment."); this.Close(); return; } if (!_sender.CurrentReader.Capabilities.CanStream) { MessageBox.Show("This reader cannot stream in this environment."); return; } _sender.CurrentReader.StartStreaming(); CaptureResult captureResult = null; reset = false; while ((!reset)) { captureResult = _sender.CurrentReader.GetStreamImage(Constants.Formats.Fid.ANSI, Constants.CaptureProcessing.DP_IMG_PROC_DEFAULT, _sender.CurrentReader.Capabilities.Resolutions[0]); Application.DoEvents(); if (captureResult.ResultCode != Constants.ResultCode.DP_SUCCESS) { if (_sender.CurrentReader != null) { _sender.CurrentReader.Dispose(); _sender.CurrentReader = null; } reset = true; MessageBox.Show("Error: " + captureResult.ResultCode.ToString()); } if (captureResult.Data != null) { foreach (Fid.Fiv fiv in captureResult.Data.Views) { SendMessage(_sender.CreateBitmap(fiv.RawImage, fiv.Width, fiv.Height)); } } } }
/// <summary> /// Handler for when a fingerprint is captured. /// </summary> /// <param name="captureResult">contains info and data on the fingerprint capture</param> public void OnCaptured(CaptureResult captureResult) { try { // Check capture quality and throw an error if bad. if (!_sender.CheckCaptureResult(captureResult)) { return; } // Create bitmap foreach (Fid.Fiv fiv in captureResult.Data.Views) { SendMessage(Action.SendBitmap, _sender.CreateBitmap(fiv.RawImage, fiv.Width, fiv.Height)); } } catch (Exception ex) { // Send error message, then close form SendMessage(Action.SendMessage, "Error: " + ex.Message); } }
private void enrollment_OnCaptured(DPCtlUruNet.EnrollmentControl enrollmentControl, CaptureResult captureResult, int fingerPosition) { if (enrollmentControl.Reader != null) { SendMessage("OnCaptured: " + enrollmentControl.Reader.Description.Name + ", finger " + fingerPosition + ", quality " + captureResult.Quality.ToString()); } else { SendMessage("OnCaptured: No Reader Connected, finger " + fingerPosition); } if (captureResult.ResultCode != Constants.ResultCode.DP_SUCCESS) { if (_sender.CurrentReader != null) { _sender.CurrentReader.Dispose(); _sender.CurrentReader = null; } // Disconnect reader from enrollment control _enrollmentControl.Reader = null; MessageBox.Show("Error: " + captureResult.ResultCode); btnCancel.Enabled = false; } else { if (captureResult.Data != null) { foreach (Fid.Fiv fiv in captureResult.Data.Views) { pbFingerprint.Image = _sender.CreateBitmap(fiv.RawImage, fiv.Width, fiv.Height); } } } }