Printscreen (Lua)

Материал из UoPilot
Версия от 21:21, 27 августа 2019; Tatikoma (обсуждение | вклад) (Новая страница: « == Описание == '''printscreen''' - команда сохранения копии экрана в файл. == Синтаксис == Привязка к...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Описание

printscreen - команда сохранения копии экрана в файл.

Синтаксис

Привязка к окну: опционально. <br>Работа со свернутым окном: нет. <br>Работа с перекрытым окном: Да. Привязка к окну обязательна. Aero (темы Windows7) должен быть включен. Если был установлен Астер, то он должен быть отключен, а система перезагружена. <br>Все параметры заключаются в скобки и разделяются запятыми. Путь указывается в кавычках.

printscreen (<handle>, <x>, <y>, <width>, <height>, <path>)

Где: <br>handle - хендл окна. Для работы с перекрытом окном иногда нужно указывать родительское окно. <br>x - Координата X <br>y - Координата Y <br>width - Ширина, если 'width' = 0, то берётся максимальное возможное значение. <br>height - Высота, если 'height' = 0, то берётся максимальное возможное значение. <br>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, <nowiki>C:\</nowiki> .. os.date("%d.%m.%Y") .. "_" .. os.date("%H.%M.%S") .. <nowiki>.jpg</nowiki>)
    wait (1500)
end
hint ("Скрины сделаны")

Примеры для скринов перекрытых (не свёрнутых!) окон: <br>Привязка к окну обязательна. Окна могут находиться за пределами экрана. Если на скрине "чёрный квадрат", значит надо указывать родительское окно.

--lua
local h = findwindow ("UoPilot")                              -- найти окно UoPilot
if h then  -- если окно найдено
    printscreen (h[1][1], 0, 0, 0, 0, <nowiki>C:\window4.jpg</nowiki>)   -- скрин рабочего окна
end
--lua
local h = findwindow ("UoPilot")                                    -- найти окно UoPilot
if h then  -- если окно найдено
    printscreen (h[1][1], 100, 100, 80, 80, <nowiki>C:\window5.jpg</nowiki>)   -- скрин рабочего окна от координат 100 100, размером 80 на 80
end

Смотрите также

Findimage (Lua)