Ejemplo n.º 1
0
        private void InitializeDecoder(PhotoConfirmationCapturedEventArgs photoResult)
        {
            _image  = new BitmapImage();
            _reader = new ZXing.BarcodeReader();


            Task.Run(delegate()
            {
                _reader.Options.TryHarder = false;
                _reader.TryInverted       = false;
                _reader.AutoRotate        = false;
                _image.SetSource(photoResult.Frame);
                ZXing.Result result = _reader.Decode(new WriteableBitmap(_image.PixelWidth, _image.PixelHeight));
                if (result != null)
                {
                    AddBarcodeToResults(result);
                }
                else
                {
                    SetActivityMessage("No barcode detected", false);
                }
            }).ConfigureAwait(false).GetAwaiter().GetResult();
        }
        //</SnippetEnablePhotoConfirmation>

        //<SnippetPhotoConfirmationCaptured>
        void PhotoConfirmationCaptured(MediaCapture sender, PhotoConfirmationCapturedEventArgs args)
        {
            using (ManualResetEventSlim evt = new ManualResetEventSlim(false))
            {
                CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() =>
                {
                    try
                    {
                        WriteableBitmap bmp = new WriteableBitmap(unchecked ((int)args.Frame.Width), unchecked ((int)args.Frame.Height));
                        using (var istream = args.Frame.AsStream())
                            using (var ostream = bmp.PixelBuffer.AsStream())
                            {
                                await istream.CopyStreamToAsync(ostream);
                            }
                    }
                    finally
                    {
                        evt.Set();
                    }
                });

                evt.Wait();
            }
        }
        private void MediaCapture_PhotoConfirmationCaptured(MediaCapture sender, PhotoConfirmationCapturedEventArgs args)
        {

        }
        public AsyncPictureDecoderExtension(ScanResult result, PhotoConfirmationCapturedEventArgs photoResult)
        {
            this.result = result;

            InitializeDecoder(photoResult);
        }
 private void MediaCapture_PhotoConfirmationCaptured(MediaCapture sender, PhotoConfirmationCapturedEventArgs args)
 {
     PhotoConfirmationCaptured?.Invoke(sender, args);
 }
 private void captureTask_Completed(MediaCapture sender, PhotoConfirmationCapturedEventArgs e) {
     asyncPictureDecoder = new WindowsPhone8Demo.Extensions.AsyncPictureDecoderExtension(result, e);
 }
Ejemplo n.º 7
0
        public AsyncPictureDecoderExtension(ScanResult result, PhotoConfirmationCapturedEventArgs photoResult)
        {
            this.result = result;

            InitializeDecoder(photoResult);
        }
        private void InitializeDecoder(PhotoConfirmationCapturedEventArgs photoResult)
        {
            _image = new BitmapImage();
            _reader = new ZXing.BarcodeReader();

            Task.Run(delegate()
            {
            _reader.Options.TryHarder = false;
            _reader.TryInverted = false;
            _reader.AutoRotate = false;
            _image.SetSource(photoResult.Frame);
            ZXing.Result result = _reader.Decode(new WriteableBitmap(_image.PixelWidth, _image.PixelHeight));
            if (result != null)
            {
                AddBarcodeToResults(result);
            }
            else
            {
                SetActivityMessage("No barcode detected", false);
            }
            }).ConfigureAwait(false).GetAwaiter().GetResult();
        }