Получить и вырезать скриншот - PullRequest
0 голосов
/ 19 октября 2019

Я переписываю код WPF в UWP. Задача состоит в том, чтобы сделать скриншот экрана, вырезать его и передать в библиотеку, которая найдет слова

library - tesseract-ocr https://github.com/tesseract-ocr/

Мой старый код в WPF

// Делаю скрин и обрезаю его
// _bounds.Width = 1920, _bounds.Height = 1080;
using (Bitmap bmp = new Bitmap((int)_bounds.Width, (int)_bounds.Height))
{
    using (Graphics graph = Graphics.FromImage(bmp))
    {
        graph.CopyFromScreen(0, 0, 0, 0, bmp.Size);

        // save for check result
        bmp?.Save($@"{_rootFullImage}\{_counter.ToString()}.jpg");

        // XPosition, YPosition, WidthPosition, HeightPosition - values how cut it
        Bitmap clippedBitMap = bmp?.Clone(new Rectangle((int)XPosition, (int)YPosition, (int)WidthPosition, (int)HeightPosition), bmp.PixelFormat);

        // save for check result
        clippedBitMap?.Save($@"{_rootCutImage}\{_counter.ToString()}.jpg");

        string ocrText;
        using (TesseractEngine engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))
        {
            using (Pix img = Tesseract.PixConverter.ToPix(clippedBitMap))
            {
                using (Page page = engine.Process(img))
                {
                    ocrText = page.GetText();
                }
            }
        }

    }
}

Битовая карта и графика - используя System.Drawing, UWP не работает с ним. Основная задача - Получить текст с экрана . Класс Pix имеет ctor как:

enter image description here

Помогите мне, пожалуйста, кто-нибудь.

...