private void DoQrToBin(string filename) { try { var fileStream = File.OpenRead(filename); var img = Image.FromStream(fileStream); var bmp = new Bitmap(img); fileStream.Close(); var binary = new BinaryBitmap(new HybridBinarizer(new RGBLuminanceSource(bmp, bmp.Width, bmp.Height))); var reader = new QRCodeReader(); var result = reader.decode(binary); var resultList = (ArrayList)result.ResultMetadata[ResultMetadataType.BYTE_SEGMENTS]; if (resultList == null) { File.WriteAllBytes(filename + ".txt", Encoding.UTF8.GetBytes(result.Text)); System.Diagnostics.Process.Start(filename + ".txt"); txtQRText.Text = result.Text; } else File.WriteAllBytes(filename + ".bin", (byte[]) resultList[0]); } catch (ReaderException ex) { MessageBox.Show(@"Error Loading:" + Environment.NewLine + ex.Message); } }
private void OnPhotoCameraInitialized(object sender, CameraOperationCompletedEventArgs e) { int width = Convert.ToInt32(_photoCamera.PreviewResolution.Width); int height = Convert.ToInt32(_photoCamera.PreviewResolution.Height); _luminance = new PhotoCameraLuminanceSource(width, height); _reader = new QRCodeReader(); Dispatcher.BeginInvoke(() => { _previewTransform.Rotation = _photoCamera.Orientation; _timer.Start(); }); }
private void OnPhotoCameraInitialized(object sender, CameraOperationCompletedEventArgs e) { Dispatcher.BeginInvoke(() => { _timer = new DispatcherTimer(); _timer.Interval = TimeSpan.FromMilliseconds(250); _timer.Tick += (o, arg) => ScanPreviewBuffer(); int width = Convert.ToInt32(_photoCamera.PreviewResolution.Width); int height = Convert.ToInt32(_photoCamera.PreviewResolution.Height); _luminance = new PhotoCameraLuminanceSource(width, height); _reader = new QRCodeReader(); }); Dispatcher.BeginInvoke(() => { _previewTransform.Rotation = _photoCamera.Orientation; _timer.Start(); }); }
private bool stopCamera() { if (_photoCamera == null) { return false; } _timer.Stop(); _timer = null; _luminance = null; _reader = null; _photoCamera.Dispose(); _photoCamera = null; return true; }
private void openQRCodeToolStripMenuItem_Click(object sender, EventArgs e) { var ofd = new OpenFileDialog { Filter = "All Supported|*.png;*.jpg;*.bmp;*.gif|PNG Files|*.png|Jpeg Files|*.jpg|Bitmap Files|*.bmp|GIF Files|*.gif" }; if (ofd.ShowDialog() != DialogResult.OK) return; try { var file = new FileStream(ofd.FileName, FileMode.Open); var bmp = new Bitmap(Image.FromStream(file)); file.Close(); var binary = new BinaryBitmap(new HybridBinarizer(new RGBLuminanceSource(bmp, bmp.Width, bmp.Height))); var reader = new QRCodeReader(); var hashtable = new Hashtable(); hashtable.Add(DecodeHintType.POSSIBLE_FORMATS,BarcodeFormat.QR_CODE); hashtable.Add(DecodeHintType.TRY_HARDER,true); var result = reader.decode(binary, hashtable); var byteArray = (byte[])((ArrayList)result.ResultMetadata[ResultMetadataType.BYTE_SEGMENTS])[0]; load_QR_data(byteArray); } catch (ReaderException ex) { MessageBox.Show("Error Loading:" + Environment.NewLine + ex.Message); } catch (InvalidOperationException ex) { MessageBox.Show("Error Loading:" + Environment.NewLine + ex.Message); } }
private void OnPhotoCameraInitialized(object sender, CameraOperationCompletedEventArgs e) { int width = Convert.ToInt32(PhotoCamera.PreviewResolution.Width); int height = Convert.ToInt32(PhotoCamera.PreviewResolution.Height); luminance = new PhotoCameraLuminanceSource(width, height); qrReader = new QRCodeReader(); ean13Reader = new EAN13Reader(); code39Reader = new Code39Reader(); timer = new Timer((s) => ScanPreviewBuffer(), null, 0, 250); }
public void StopScanning() { if (IsScanning) { IsScanning = false; _reader = null; } }
/// <summary> /// Starts or restarts actively scanning the camera's preview buffer /// for a two-dimensional barcode. /// </summary> public void StartScanning() { if (!IsScanning && _initialized) { _reader = new QRCodeReader(); IsScanning = true; Scan(); } }
void decoder_DoWork(object sender, DoWorkEventArgs e) { Bitmap bmp = (Bitmap)e.Argument; QRCodeReader reader = new QRCodeReader(); RGBLuminanceSource source = new RGBLuminanceSource(bmp, bmp.Width, bmp.Height); BinaryBitmap binDecode = new BinaryBitmap(new HybridBinarizer(source)); String decodedString = ""; Result result; try { result = (Result)reader.decode(binDecode); decodedString = result.Text; } catch (ReaderException) { decodedString = ""; } if (decodedString == "") { toolStripStatusLabel1.Text = "Scan a Player ID"; } else { String[] items = (decodedString).Split('|'); this.Invoke((MethodInvoker)delegate//run on UI thread { label_Name.Text = "Name: " + items[0]; label_Kill.Text = "Kill ID: " + items[1]; toolStripStatusLabel1.Text = "Decoded"; }); } }
//camera setup void cam_Initialized(object sender, CameraOperationCompletedEventArgs e) { try { int width = Convert.ToInt32(_cam.PreviewResolution.Width); int height = Convert.ToInt32(_cam.PreviewResolution.Height); _luminance = new PhotoCameraLuminanceSource(width, height); _reader = new QRCodeReader(); _cam.FlashMode = FlashMode.Auto; _cam.Focus(); } catch { //Throws an exception if the camera is disposed while this method is being called } }
private void menuQRCodeRead_Click(object sender, EventArgs e) { var ofd = new OpenFileDialog { Filter = @"All Supported|*.png;*.jpg;*.bmp;*.gif|PNG Files|*.png|Jpeg Files|*.jpg|Bitmap Files|*.bmp|GIF Files|*.gif" }; if (ofd.ShowDialog() != DialogResult.OK) return; try { var bmp = new Bitmap(Image.FromFile(ofd.FileName)); var binary = new BinaryBitmap(new HybridBinarizer(new RGBLuminanceSource(bmp, bmp.Width, bmp.Height))); var reader = new QRCodeReader(); var result = reader.decode(binary); var byteArray = (byte[])((ArrayList)result.ResultMetadata[ResultMetadataType.BYTE_SEGMENTS])[0]; var ms = new MemoryStream(byteArray); gridControl.LevelData.Read(ms); ms.Close(); DataToGui(); } catch (ReaderException ex) { MessageBox.Show(@"Error Loading:" + Environment.NewLine + ex.Message); } }
public void StopScanning() { if (IsScanning) { IsScanning = false; _reader = null; UninitializePhotoCamera(); } }