Printscreen (Lua)
Содержание
Описание
printscreen - команда сохранения копии экрана в файл.
Синтаксис
Привязка к окну: опционально.
Работа со свернутым окном: нет.
Работа с перекрытым окном: Да. Привязка к окну обязательна. Aero (темы Windows7) должен быть включен. Если был установлен Астер, то он должен быть отключен, а система перезагружена.
Все параметры заключаются в скобки и разделяются запятыми. Путь указывается в кавычках.
printscreen (<handle>, <x>, <y>, <width>, <height>, <path>)
Где:
handle - хендл окна. Для работы с перекрытом окном иногда нужно указывать родительское окно.
x - Координата X
y - Координата Y
width - Ширина, если 'width' = 0, то берётся максимальное возможное значение.
height - Высота, если 'height' = 0, то берётся максимальное возможное значение.
path - Путь для сохранения изображения.
Примеры
--lua printscreen (0, 0, 0, 0, 0, [[C:\window.jpg]]) -- скрин всего экрана
--lua printscreen (0, 0, 0, 300, 300, [[C:\window1.jpg]]) -- скрин от левого верхнего угла экрана, размером 300*300
--lua printscreen (0, 500, 500, 200, 200, [[C:\window2.jpg]]) -- скрин экрана от координат 500 500, размером 200*200
--lua -- сделать 5 скринов с интервалом 1,5 секунды -- сохраняются на диск C: в формате: день.месяц.год_час.минута.секунда for _ = 1, 5 do printscreen (0, 0, 0, 0, 0, [[C:\]] .. os.date("%d.%m.%Y") .. "_" .. os.date("%H.%M.%S") .. [[.jpg]]) wait (1500) end hint ("Скрины сделаны")
Примеры для скринов перекрытых (не свёрнутых!) окон:
Привязка к окну обязательна. Окна могут находиться за пределами экрана. Если на скрине "чёрный квадрат", значит надо указывать родительское окно.
--lua local h = findwindow ("UoPilot") -- найти окно UoPilot if h then -- если окно найдено printscreen (h[1][1], 0, 0, 0, 0, [[C:\window4.jpg]]) -- скрин рабочего окна end
--lua local h = findwindow ("UoPilot") -- найти окно UoPilot if h then -- если окно найдено printscreen (h[1][1], 100, 100, 80, 80, [[C:\window5.jpg]]) -- скрин рабочего окна от координат 100 100, размером 80 на 80 end