// Decode event private void stream(object sender, NewFrameEventArgs eventArgs) { // NewFrameEventArgs -- event from AForge.Video class Bitmap bitmap = (Bitmap)eventArgs.Frame.Clone(); Stream_pictureBox.Image = bitmap; //если сканирование производилось уже в течении делея то выходим if (!isCan) { return; } // send image from camera in ZXing class, and decode them Result result = reader.Decode((Bitmap)eventArgs.Frame.Clone()); //если в коллекции сканов уже есть такой текст, то выходим if (result != null && !scans.Contains(result.Text)) { //установка флага что уже отсканировано isCan = false; //добавление уникального значения scans.Add(result.Text); Invoke((MethodInvoker) delegate { QrDecode_textBox.AppendText("\r\n" + result.Text); }); TempQrDecode = result.Text; } }
// Decode event private void stream(object sender, NewFrameEventArgs eventArgs) { // NewFrameEventArgs -- event from AForge.Video class Bitmap bitmap = (Bitmap)eventArgs.Frame.Clone(); Stream_pictureBox.Image = bitmap; // send image from camera in ZXing class, and decode them Result result = reader.Decode((Bitmap)eventArgs.Frame.Clone()); if (result != null && result.Text != TempQrDecode) { Invoke((MethodInvoker) delegate { QrDecode_textBox.AppendText("\r\n" + result.Text); }); TempQrDecode = result.Text; } }