Exemple #1
0
        private void ShowOnCameraMessage(string message, Color testfontColor)
        {
            Oklabel.ForeColor = testfontColor;
            Oklabel.Text      = message;
            Oklabel.Visible   = true;
            Oklabel.Update();

            Task ignoredAwaitableResult = this.ClearFoundQRCode();
        }
Exemple #2
0
        private async Task ClearFoundQRCode()
        {
            await Task.Delay(800);

            Oklabel.Visible      = false;
            lblUltimoStatus.Text = "";
            point1 = new Point(0, 0);
            point2 = new Point(0, 0);
            point3 = new Point(0, 0);
            point4 = new Point(0, 0);

            Oklabel.Update();
        }
Exemple #3
0
        private void CentralizarLabelOK()
        {
            var pointXs = point1.X;
            var pointXg = point1.X;

            if (pointXs > point2.X)
            {
                pointXs = point2.X;
            }
            else if (pointXg < point2.X)
            {
                pointXg = point2.X;
            }

            if (pointXs > point3.X)
            {
                pointXs = point3.X;
            }
            else if (pointXg < point3.X)
            {
                pointXg = point3.X;
            }

            if (pointXs > point4.X)
            {
                pointXs = point4.X;
            }
            else if (pointXg < point4.X)
            {
                pointXg = point4.X;
            }

            var pointYs = point1.Y;
            var pointYg = point1.Y;

            if (pointYs > point2.Y)
            {
                pointYs = point2.Y;
            }
            else if (pointYg < point2.Y)
            {
                pointYg = point2.Y;
            }

            if (pointYs > point3.Y)
            {
                pointYs = point3.Y;
            }
            else if (pointYg < point3.Y)
            {
                pointYg = point3.Y;
            }

            if (pointYs > point4.Y)
            {
                pointYs = point4.Y;
            }
            else if (pointYg < point4.Y)
            {
                pointYg = point4.Y;
            }

            Oklabel.Location = new Point(((pointXs + pointXg) / 2) - (Oklabel.Width / 2), ((pointYs + pointYg) / 2) - (Oklabel.Height / 2));


            Oklabel.Update();
        }
Exemple #4
0
        private void videoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            try
            {
                if (frameSkipCount > 30)
                {
                    frameSkipCount = 0;
                    return;
                }
                frameSkipCount++;

                if (videoSource == null)
                {
                    return;
                }

                pictureBoxSource.Invoke((MethodInvoker) delegate
                {
                    Bitmap image = new Bitmap(eventArgs.Frame);

                    ////image = AdjustContrast(MakeGrayscale3(image), 1.50f);
                    //if (Management.Settings.InvertCameraX && Management.Settings.InvertCameraY)
                    //    image.RotateFlip(RotateFlipType.Rotate180FlipXY);
                    //else if (Management.Settings.InvertCameraX)
                    //    image.RotateFlip(RotateFlipType.Rotate180FlipX);
                    //else if (Management.Settings.InvertCameraY)
                    //    image.RotateFlip(RotateFlipType.Rotate180FlipY);

                    pictureBoxSource.BackgroundImage = image;

                    pictureBoxSource.BackgroundImageLayout = ImageLayout.Stretch;

                    if (image != null)
                    {
                        var message = ExtractQRCodeMessageFromImage((MakeGrayscale3(image)));// AdjustContrast(MakeGrayscale3(image),3.00f));

                        if (message != null)
                        {
                            if (lastmessage != message)
                            {
                                var status = string.Empty;

                                var nf = GetData(message, tbAfterString.Text, tbBeforeString.Text);

                                if (nf != null)
                                {
                                    if (ultimaChaveLida == nf)
                                    {
                                        if (ultimoStatusSucesso)
                                        {
                                            Oklabel.Invoke((Action)ChangeStatusOk);
                                        }
                                        else
                                        {
                                            lblUltimoStatus.Invoke((MethodInvoker) delegate { lblUltimoStatus.Text = ultimaMensagem; });
                                            Oklabel.Invoke((Action)ChangeStatusError);
                                        }

                                        return;
                                    }
                                }

                                lblUltimoStatus.Invoke((MethodInvoker) delegate { lblUltimoStatus.Text = status; });

                                if (nf == null)
                                {
                                    if (Oklabel.Visible == false)
                                    {
                                        ultimaMensagem = status;
                                        Oklabel.Invoke((Action)ChangeStatusError);
                                    }
                                }
                                else
                                {
                                    ultimaChaveLida = nf;

                                    if (status != string.Empty)
                                    {
                                        lblUltimoStatus.Invoke((MethodInvoker) delegate { lblUltimoStatus.Text = status; });
                                    }
                                    SendData(nf);
                                }
                            }
                            else
                            {
                                CounterSameCode++;
                                if (CounterSameCode > 100)
                                {
                                    CounterSameCode = 0;
                                    lastmessage     = string.Empty;
                                }
                                if (Oklabel.Visible == false)
                                {
                                    Oklabel.Invoke((Action)ChangeStatusOk);
                                }
                            }
                        }
                    }
                    // GC.Collect();
                });
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                //new ExceptionFileHandler().CreateCrashFile(ex.ToString());
                CloseCamera();
                Application.Exit();
            }
        }