Ejemplo n.º 1
0
        /// <summary>
        /// Returns the zxing reader class for the current specified ScanMode.
        /// </summary>
        /// <returns></returns>
        internal static com.google.zxing.Reader GetReader(BarcodeFormat format)
        {
            Dictionary <object, object> zxingHints
                = new Dictionary <object, object>()
                {
                { DecodeHintType.TRY_HARDER, true }
                };

            com.google.zxing.Reader r;
            switch (format.Name)
            {
            case "CODE_128":
                r = new com.google.zxing.oned.Code128Reader();
                break;

            case "CODE_39":
                r = new com.google.zxing.oned.Code39Reader();
                break;

            case "EAN_13":
                r = new com.google.zxing.oned.EAN13Reader();
                break;

            case "EAN_8":
                r = new com.google.zxing.oned.EAN8Reader();
                break;

            case "ITF":
                r = new com.google.zxing.oned.ITFReader();
                break;

            case "UPC_A":
                r = new com.google.zxing.oned.UPCAReader();
                break;

            case "UPC_E":
                r = new com.google.zxing.oned.UPCEReader();
                break;

            case "QR_CODE":
                r = new com.google.zxing.qrcode.QRCodeReader();
                break;

            case "DATAMATRIX":
                r = new com.google.zxing.datamatrix.DataMatrixReader();
                break;

            case "ALL_1D":
                r = new com.google.zxing.oned.MultiFormatOneDReader(zxingHints);
                break;

            //Auto-Detect:
            case "UPC_EAN":
            default:
                r = new com.google.zxing.oned.MultiFormatUPCEANReader(zxingHints);
                break;
            }
            return(r);
        }
        void captureSource_CaptureImageCompleted(object sender, CaptureImageCompletedEventArgs e)
        {
            com.google.zxing.qrcode.QRCodeReader qrRead = new com.google.zxing.qrcode.QRCodeReader();
            //This is like a platform neutral way of identifying colors in an image
            RGBLuminanceSource luminiance = new RGBLuminanceSource(e.Result, e.Result.PixelWidth, e.Result.PixelHeight);
            //The next 2 things are used to change color to black and white to be read by the reader
            com.google.zxing.common.HybridBinarizer binarizer = new com.google.zxing.common.HybridBinarizer(luminiance);
            com.google.zxing.BinaryBitmap binBitmap = new com.google.zxing.BinaryBitmap(binarizer);
            com.google.zxing.Result results = default(com.google.zxing.Result);
            try
            {
                //barcode found
                results = qrRead.decode(binBitmap);

                capturedBarcodes.Items.Insert(0, new ScannedImage(results.Text, e.Result));
                capturedBarcodes.SelectedIndex = 0;
                mediaElement1.Stop();
                mediaElement1.Play();

                ImageBrush brush = new ImageBrush();
                brush.ImageSource = e.Result;
                capturedImage.Fill = brush;
            }
            catch (com.google.zxing.ReaderException)
            {
                //no barcode found
                if (captureSource.State == CaptureState.Started)
                {
                    captureSource.CaptureImageAsync();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                StartButton_Click(this, new RoutedEventArgs());
            }

            try
            {
                BarcodeRead(this, new CustomEventHandler() { Barcode = results.Text });
            }
            catch (Exception)
            {
                //no javascript event attached
            }
        }
Ejemplo n.º 3
0
        private void QRWorkerMethod(object sender, CertificateScanner.WaiteWindow.WaitWindowEventArgs e)
        {
            try
            {
                var sourceimg = (Bitmap)e.Arguments[0];

                ContrastStretch filter = new ContrastStretch();
                sourceimg = filter.Apply(sourceimg);
                sourceimg = filter.Apply(sourceimg);
                sourceimg = filter.Apply(sourceimg);

                Median f1 = new Median();
                sourceimg = f1.Apply(sourceimg);
                sourceimg = f1.Apply(sourceimg);
                sourceimg = f1.Apply(sourceimg);

                Blur filter2 = new Blur();
                sourceimg = filter2.Apply(sourceimg);
                sourceimg = filter2.Apply(sourceimg);

                //sourceimg.Save("d:\\tst.jpg", ImageFormat.Jpeg);
                //System.Diagnostics.Process.Start("d:\\tst.jpg");

                com.google.zxing.LuminanceSource source    = new RGBLuminanceSource(sourceimg, sourceimg.Width, sourceimg.Height);
                com.google.zxing.Binarizer       binarizer = new com.google.zxing.common.HybridBinarizer(source);

                com.google.zxing.qrcode.QRCodeReader reader = new com.google.zxing.qrcode.QRCodeReader();

                var result = reader.decode(new com.google.zxing.BinaryBitmap(binarizer));
                e.Result = result.Text;
            }
            catch (Exception ex)
            {
                e.Result = "12323123213123";
                this.Warn(ex, this.Messages("qrFail"));
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Returns the zxing reader class for the current specified ScanMode.
        /// </summary>
        /// <returns></returns>
        internal static com.google.zxing.Reader GetReader(BarcodeFormat format)
        {
            Dictionary<object, object> zxingHints
                = new Dictionary<object, object>() { { DecodeHintType.TRY_HARDER, true } };
            com.google.zxing.Reader r;
            switch (format.Name)
            {
                case "CODE_128":
                    r = new com.google.zxing.oned.Code128Reader();
                    break;
                case "CODE_39":
                    r = new com.google.zxing.oned.Code39Reader();
                    break;
                case "EAN_13":
                    r = new com.google.zxing.oned.EAN13Reader();
                    break;
                case "EAN_8":
                    r = new com.google.zxing.oned.EAN8Reader();
                    break;
                case "ITF":
                    r = new com.google.zxing.oned.ITFReader();
                    break;
                case "UPC_A":
                    r = new com.google.zxing.oned.UPCAReader();
                    break;
                case "UPC_E":
                    r = new com.google.zxing.oned.UPCEReader();
                    break;
                case "QR_CODE":
                    r = new com.google.zxing.qrcode.QRCodeReader();
                    break;
                case "DATAMATRIX":
                    r = new com.google.zxing.datamatrix.DataMatrixReader();
                    break;

                case "ALL_1D":
                    r = new com.google.zxing.oned.MultiFormatOneDReader(zxingHints);
                    break;
                
                //Auto-Detect:
                case "UPC_EAN":
                default:
                    r = new com.google.zxing.oned.MultiFormatUPCEANReader(zxingHints);
                    break; 
            }
            return r;
        }
Ejemplo n.º 5
0
 public MapWithQRCodeReader()
 {
     this.reader = new com.google.zxing.qrcode.QRCodeReader();
 }
 public MapWithQRCodeReader()
 {
     this.reader = new com.google.zxing.qrcode.QRCodeReader();
 }
Ejemplo n.º 7
0
        /// <summary>
        /// Returns the zxing reader class for the current specified ScanMode.
        /// </summary>
        /// <returns></returns>
        public static com.google.zxing.Reader GetReader()
        {
            com.google.zxing.Reader r;
            switch (WP7BarcodeManager.ScanMode.Name)
            {
                case "CODE_128":
                    r  = new com.google.zxing.oned.Code128Reader();
                    break;
                case "CODE_39":
                    r  = new com.google.zxing.oned.Code39Reader();
                    break;
                case "EAN_13":
                    r  = new com.google.zxing.oned.EAN13Reader();
                    break;
                case "EAN_8":
                    r  = new com.google.zxing.oned.EAN8Reader();
                    break;
                case "ITF":
                    r  = new com.google.zxing.oned.ITFReader();
                    break;
                case "UPC_A":
                    r  = new com.google.zxing.oned.UPCAReader();
                    break;
                case "UPC_E":
                    r  = new com.google.zxing.oned.UPCEReader();
                    break;
                case "QR_CODE":
                    r  = new com.google.zxing.qrcode.QRCodeReader();
                    break;
                case "DATAMATRIX":
                    r  = new com.google.zxing.datamatrix.DataMatrixReader();
                    break;

                //Auto-Detect:
                case "UPC_EAN":
                    r = new com.google.zxing.oned.MultiFormatUPCEANReader(zxingHints);
                    break;
                case "ALL_1D":
                    r = new com.google.zxing.oned.MultiFormatOneDReader(zxingHints);
                    break;

                default:
                    r = null;
                    if (LastCaptureResults != null)
                    {
                        LastCaptureResults.ExceptionThrown = new ArgumentException("Error: Unknown barcode type");
                    }
                    throw new ArgumentException("Error: Unknown barcode type");
            }
            return r;
        }
Ejemplo n.º 8
0
 public bool TryToRecognizeQRcode(WriteableBitmap wb, out string qrCode)
 {
     // create reader instance
     var reader = new com.google.zxing.qrcode.QRCodeReader();
     return TryToRecognize(wb, reader, null, out qrCode);
 }