last day (15 days later) » 

17:52
0
Q: Почему метод работает преждевременно?

fan fani Image CaptureScreen(int sourceX, int sourceY, int destX, int destY, Size regionSize) { Bitmap bmp = new Bitmap(regionSize.Width, regionSize.Height); Graphics g = Graphics.FromImage(bmp); g.CopyFromScreen(sourceX, sourceY, destX, destY, regionSize); return bmp; } priva...

зачем нужен await Task.Delay(100);? как ты узнаешь что страница открылась? где конкретно ты открываешь страницу?
Приведите minimal reproducible example вместо огрызка и уберите нерелевантный вопросу код, если всю эту скриншотную возню можно заменить на Console.WriteLine("Я вызвалось"); и всё равно воспроизвести проблему — значит так и нужно сделать, чтобы не запутывать народ (ну и уж tesseract тут тем более ни при чём, если у вас проблема именно в слишком раннем скриншоте)
user611823
открываю страницу в приложении, эвейт для того чтобы успел прогрузиться сайт на всякий случай
что значит открываю страницу в приложении? В каком приложении? как открываешь?
И почему вы решили, что 100 миллисекунд это достаточно для прогрузки?
user611823
17:52
тессеракт я указал так как возможно проблема именно в нем , не так ли ?
Если вы написали «делает скриншот рабочего стола», то при чём тут тессеракт вообще, скриншоты ведь делает не он
тессеракт я указал так как возможно проблема именно в нем , не так ли ? - не так. Если ты передаешь неверную картинку тессеракт не сможет вернуть верный результат.
user611823
До этих 100 милисекунд происходит еще множество действий, которые в сумме занимают 3 секунды , включая ожидания. Но все-таки скриншот создается до всех этих действий, хотя должен после
Ну и загадочная функция CaptureScreen тоже сама по себе загадочная, в общем ещё раз minimal reproducible example а не непонятные огрызки
user611823
Image CaptureScreen(int sourceX, int sourceY, int destX, int destY, Size regionSize) { Bitmap bmp = new Bitmap(regionSize.Width, regionSize.Height); Graphics g = Graphics.FromImage(bmp); g.CopyFromScreen(sourceX, sourceY, destX, destY, regionSize); return bmp; }
17:52
Не стоит дублировать один и тот же вопрос несколько раз. Из-за большого количества некачественных вопросов система может ограничить возможность задавать новые. Вместо этого нужно отредактировать существующий вопрос, добавив в него необходимую информацию. Отредактировать вопрос можно с помощью кнопки edit под вопросом.
Кстати я ещё не понял выражение page % 1 != 0 — если мои знания по математике меня не подводят, остаток от деления целого числа на 1 ВСЕГДА будет 0, из чего следует, что это условие никогда не выполнится и функция CaptureScreen никогда не будет вызвана. Из чего следует логичный вопрос — а скриншот-то делается вообще? Может, вы смотрите старый файл, который был создан много часов/дней назад?
user611823
да извините не тот код скинул, взял старую версию
user611823
но работаю сейчас с новой
Ну вообще прекрасно, вы всё это время ещё и обманывали нас, оказывается. Ну тогда я просто обязан в третий раз вкинуть ссылку minimal reproducible example
Если проблема именно с тем что скриншот делается раньше чем загружена страница - очевидное решение просто дольше ждать. Правильное решение можно дать только увидев каким образом и как открывается страница.
@andreymal, не вижу объявления page в принципе у нее может быть любой тип
17:52
@Grundy поэтому я понадеялся на здравый смысл, но будет лол, если даже он тут не прокатил)
@andreymal Судя по page += 0.2; это не целое и тогда page % 1 != 0 это проверка на то, что есть дробная часть. Но вообще, конечно, не целые страницы - это интересная концепция. А учитывая приколы чисел с плавающей точкой, такие проверки это весело вообще.
@CrazyElf то есть про «да извините не тот код скинул» автор обманул нас ещё раз? 🙃
user611823
@CrazyElf я уже переработал это, но сейчас проблема кода вообще не в этом
user611823
@CrazyElf мне казалось, что это метод работал преждевременно, но на самом деле проблема с застыванием окна для программы, в которое программа переходит

last day (15 days later) »