private void btn_File_Click(object sender, System.EventArgs e) { string sRes = ""; OpenFileDialog ofn = new OpenFileDialog(); if (ofn.ShowDialog() == DialogResult.OK) { try { Reader barcodeReader = new com.google.zxing.MultiFormatReader(); System.Drawing.Bitmap srcbitmap = new System.Drawing.Bitmap(ofn.FileName.ToString()); // Make a copy of the image in the Bitmap variable //make a grey bitmap of it bmp_util util = new bmp_util(); srcbitmap = util.ConvertToGrayscale(srcbitmap); RGBLuminanceSource source = new RGBLuminanceSource(srcbitmap, srcbitmap.Width, srcbitmap.Height); com.google.zxing.BinaryBitmap bitmap = new com.google.zxing.BinaryBitmap(new HybridBinarizer(source)); com.google.zxing.Result result = barcodeReader.decode(bitmap); System.Console.WriteLine(result.Text); sRes = result.Text; } catch (com.google.zxing.ReaderException zex) { sRes = zex.Message; System.Console.WriteLine(zex.Message); } catch (Exception ex) { sRes = ex.Message; System.Console.WriteLine(ex.Message); } tb.Text = sRes; } }
public virtual void OnQrScan(com.google.zxing.Result result) { var builder = new AlertDialog.Builder(this); builder.SetTitle("QR Result"); builder.SetMessage(result.Text); using (var dlg = builder.Create()) dlg.Show(); }
public virtual void OnScan(com.google.zxing.Result result) { var evt = OnScanCompleted; if (evt != null) { evt(result); } this.Finish(); }
private void drawResultPoints(Android.Graphics.Bitmap barcode, com.google.zxing.Result rawResult) { var points = rawResult.ResultPoints; if (points != null && points.Length > 0) { var canvas = new Canvas(barcode); Paint paint = new Paint(); paint.Color = Android.Graphics.Color.White; paint.StrokeWidth = 3.0f; paint.SetStyle(Paint.Style.Stroke); var border = new RectF(2, 2, barcode.Width - 2, barcode.Height - 2); canvas.DrawRect(border, paint); paint.Color = Android.Graphics.Color.Purple; if (points.Length == 2) { paint.StrokeWidth = 4.0f; drawLine(canvas, paint, points[0], points[1]); } else if (points.Length == 4 && (rawResult.BarcodeFormat == BarcodeFormat.UPC_A || rawResult.BarcodeFormat == BarcodeFormat.EAN_13)) { // Hacky special case -- draw two lines, for the barcode and metadata drawLine(canvas, paint, points[0], points[1]); drawLine(canvas, paint, points[2], points[3]); } else { paint.StrokeWidth = 10.0f; foreach (ResultPoint point in points) { canvas.DrawPoint(point.X, point.Y, paint); } } } }