Пример #1
0
        public void OnDrop(DragEventArgs eventArgs)
        {
            var dataObject = eventArgs.Data;

            IsLoading    = true;
            IsOCRLoading = true;

            Task.Run(async() =>
            {
                await Task.Delay(500);

                var stream = _machineContext.GetStreamFromIDataObject(dataObject);

                if (stream == null)
                {
                    return;
                }

                _screenshot      = new Bitmap(stream);
                var bitmapSource = _imageService.GetBitmapSource(_screenshot);
                bitmapSource.Freeze();

                Dispatcher.CurrentDispatcher.Invoke(() =>
                {
                    CapturedImage = bitmapSource;
                    IsLoading     = false;
                });

                var ocrResult = await _OCRService.GetText(SelectedOCRLanguage, _screenshot);

                Dispatcher.CurrentDispatcher.Invoke(() =>
                {
                    OCRResult    = ocrResult;
                    IsOCRLoading = false;
                });
            });
        }