Exemple #1
0
        public void OnSelectedArea(object sender, EventArgs e)
        {
            IsLoading        = true;
            IsOCRLoading     = true;
            WindowVisibility = Visibility.Visible;
            _windowsManager.CloseAll();

            Task.Run(async() =>
            {
                var rectangle = (System.Drawing.Rectangle)sender;

                _screenshot      = _machineContext.CaptureScreenFragment(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height);
                var bitmapSource = _imageService.GetBitmapSource(_screenshot);
                bitmapSource.Freeze();

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

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

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