Zireael, попробовал, при 100мб на старте, контрол захватывает изображение величиной примерно 3839х1900, но на полный экран немного не хватает.
Почему когда беру снимок с "контрола" или "окна" - получаю черное полотно? Как исправить?
11. Kutuz_off - 30 Марта, 2020 - 14:03:11 - перейти к сообщению
12. Zireael - 30 Марта, 2020 - 14:14:55 - перейти к сообщению
Цитата:
захватывает изображение величиной примерно 3839х1900
А рабочий стол весь захватывает?
Непонятно зачем столько памяти выделяется при получении скрина, на FullHD около 400мб. На Ultra походу 1600.
Цитата:
получаю черное полотно? Как исправить?
https://www.youtube.com/watch?v=...feature=youtu.be
13. Kutuz_off - 30 Марта, 2020 - 15:41:04 - перейти к сообщению
Zireael пишет:
А рабочий стол весь захватывает?
- Нет, не захватывает.
2560х1600 (следующее, меньшее разрешение по списку в параметрах экрана win10) - успешно захватывает.
Кстати win10 (а может драйвер nvidia или ПО GForce Expirience) - что-то отрубает возможность менять разрешение в ручную. Была вин7 и драйвер Nvidia для cтарых серий плат (2005-2007г) - без проблем выставлял нужное разрешение, не поддерживаемое экраном, и тестировал свои работы как хотел. В этом году обновил видюшку и ОСь за одно - так намучался со стороним ПО для выставления не поддерживаемого разрешения(( И в этот раз, обновив систему - оптья такая же фигня - стоило только попробовать выставить 1920х1080 на мониторе 1280х1024 - как через 30сек, кнопка "настроить" тала не доступна.
(Добавление)
На счет "черного полотна" - просмотрел - понял. Лечится "устранением проблем с совместимостью"
В поиске win вводим: "Выполнение программ, созданных для предыдущих версий windows"
- запускаем, ищем спойлер "дополнительно", ставим галочку "от админ"
- далее, выбираем нужную программу
- далее, ждем и выбираем первый пункт
- далее скипаем подтверждения.
14. Zireael - 30 Марта, 2020 - 16:24:30 - перейти к сообщению
Проверьте отобразит весь рабочий стол или нет.
CODE:
#define SRCCOPY 13369376
external(INT, "GetDC", "GetDC", "User32.dll");
external(INT, "StretchBlt", "StretchBlt", "Gdi32.dll");
win w=window ("Program Manager", "Progman", -1);
if(w)
{
int hdc=GetDC(0);
int DC=GetDC(formatwi(w));
loop()
{
StretchBlt(hdc, 0, 0, 960, 540, DC, 0, 0, 3840, 2160, SRCCOPY);
sleep(10);
}
}
else messagebox("Окно не найдено");
external(INT, "GetDC", "GetDC", "User32.dll");
external(INT, "StretchBlt", "StretchBlt", "Gdi32.dll");
win w=window ("Program Manager", "Progman", -1);
if(w)
{
int hdc=GetDC(0);
int DC=GetDC(formatwi(w));
loop()
{
StretchBlt(hdc, 0, 0, 960, 540, DC, 0, 0, 3840, 2160, SRCCOPY);
sleep(10);
}
}
else messagebox("Окно не найдено");
15. Kutuz_off - 31 Марта, 2020 - 06:21:12 - перейти к сообщению
Zirael, да, отобразило. Но с потерей цветности и мерцанием.
16. Zireael - 31 Марта, 2020 - 06:53:53 - перейти к сообщению
Цитата:
да, отобразило. Но с потерей цветности и мерцанием.
Это пофиг. Суть в том что функции работают. А вот почему во вкладке 'Графика' не отображает как надо это уж к Кибору вопрос.
17. Kutuz_off - 31 Марта, 2020 - 10:18:28 - перейти к сообщению
Смею предположить, что дело в особенности работы кибора. Полученное изображение как бы "развертывается" для дальнейшей работы. Т.е. в ОЗУ подгружается некая "карта", конкретно к данном изображению, для дальнейшей работы имеющихся функций. Ну и сама по себе эта "карта" вешает больше картинки... Зато развернуть ее, и далее делать поиски - выходит быстрее чем а аналогах "без развертки".
Может чушь, но тем не менее... такое имхо)
Может чушь, но тем не менее... такое имхо)