/// <summary> /// Initializes the RecognizerControl /// </summary> private void InitializeRecognizer() { // sets license key // obtain your licence key at http://microblink.com/login or // contact us at http://help.microblink.com mRecognizer.LicenseKey = "Add license key here"; // add PDF417 & ZXing recognizer settings Microblink.PDF417RecognizerSettings pdf417Settings = new Microblink.PDF417RecognizerSettings() { InverseScanMode = false, NullQuietZoneAllowed = true, UncertainScanMode = true }; Microblink.ZXingRecognizerSettings zxingSettings = new Microblink.ZXingRecognizerSettings() { QRCode = true }; mRecognizer.RecognizerSettings = new Microblink.IRecognizerSettings[] { pdf417Settings, zxingSettings }; // these three events must be handled mRecognizer.OnCameraError += mRecognizer_OnCameraError; mRecognizer.OnScanningDone += mRecognizer_OnScanningDone; mRecognizer.OnInitializationError += mRecognizer_OnInitializationError; mRecognizer.OnDisplayNewTarget += mRecognizer_OnDisplayNewTarget; mRecognizer.OnDisplayDefaultTarget += mRecognizer_OnDisplayDefaultTarget; mRecognizer.OnDisplayPointSet += mRecognizer_OnDisplayPointSet; }
/// <summary> /// When user chooses a photo starts the recognition process /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void photoChooserTask_Completed(object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { SetScanInProgress(); BitmapSource image = new BitmapImage(); image.SetSource(e.ChosenPhoto); // setup direct API Recognizer directRecognizer = Recognizer.GetSingletonInstance(); // register event handlers if (directRecognizer.CurrentState == RecognizerDirectAPIState.OFFLINE) { directRecognizer.OnScanningDone += mRecognizer_OnScanningDone; // unlock direct API try { directRecognizer.LicenseKey = "Add license key here"; } catch (InvalidLicenseKeyException exception) { MessageBox.Show("Could not unlock API! Invalid license key!\nThe application will now terminate!"); Application.Current.Terminate(); } } // add MRTD recognizer settings if (directRecognizer.CurrentState == RecognizerDirectAPIState.UNLOCKED) { // add PDF417 & ZXing recognizer settings Microblink.PDF417RecognizerSettings pdf417Settings = new Microblink.PDF417RecognizerSettings() { InverseScanMode = false, NullQuietZoneAllowed = true, UncertainScanMode = true }; Microblink.ZXingRecognizerSettings zxingSettings = new Microblink.ZXingRecognizerSettings() { QRCode = true }; directRecognizer.Initialize(new GenericRecognizerSettings(), new Microblink.IRecognizerSettings[] { pdf417Settings, zxingSettings }); } // start recognition directRecognizer.Recognize(image); } }
/// <summary> /// Initializes the RecognizerControl /// </summary> private void InitializeRecognizer() { // sets license key mRecognizer.LicenseKey = LicenseKey; // add recognizer settings int numRecognizers = 0; Microblink.PDF417RecognizerSettings pdf417Settings = null; if (Scan_PDF417) { pdf417Settings = new Microblink.PDF417RecognizerSettings(); pdf417Settings.InverseScanMode = Option_InverseScanning; pdf417Settings.NullQuietZoneAllowed = Option_QuietZone; pdf417Settings.UncertainScanMode = Option_Uncertain; numRecognizers++; } Microblink.ZXingRecognizerSettings zxingSettings = null; if (Scan_ZXing) { zxingSettings = new Microblink.ZXingRecognizerSettings(); zxingSettings.AztecCode = Scan_Aztec; zxingSettings.Code128 = Scan_Code_128; zxingSettings.Code39 = Scan_Code_39; zxingSettings.DataMatrixCode = Scan_Data_Matrix; zxingSettings.EAN13Code = Scan_EAN_13; zxingSettings.EAN8Code = Scan_EAN_8; zxingSettings.ITFCode = Scan_ITF; zxingSettings.QRCode = Scan_QR_Code; zxingSettings.UPCACode = Scan_UPCA; zxingSettings.UPCECode = Scan_UPCE; zxingSettings.InverseScanMode = Option_InverseScanning; numRecognizers++; } Microblink.BarDecoderRecognizerSettings bardecoderSettings = null; if (Scan_Bardecoder) { bardecoderSettings = new Microblink.BarDecoderRecognizerSettings(); bardecoderSettings.ScanCode128 = Scan_Code_128; bardecoderSettings.ScanCode39 = Scan_Code_39; bardecoderSettings.InverseScanMode = Option_InverseScanning; numRecognizers++; } Microblink.USDLRecognizerSettings usdlSettings = null; if (Scan_USDL) { usdlSettings = new Microblink.USDLRecognizerSettings(); usdlSettings.NullQuietZoneAllowed = Option_QuietZone; usdlSettings.UncertainScanMode = Option_Uncertain; numRecognizers++; } Microblink.IRecognizerSettings[] recognizers = new Microblink.IRecognizerSettings[numRecognizers]; int index = 0; if (usdlSettings != null) { recognizers[index++] = usdlSettings; } if (pdf417Settings != null) { recognizers[index++] = pdf417Settings; } if (bardecoderSettings != null) { recognizers[index++] = bardecoderSettings; } if (zxingSettings != null) { recognizers[index++] = zxingSettings; } mRecognizer.RecognizerSettings = recognizers; mRecognizer.GenericRecognizerSettings = new Recognition.GenericRecognizerSettings() { AllowMultipleScanResults = true }; mInitialized = true; }