Printscreen (Lua): различия между версиями
Tatikoma (обсуждение | вклад) (Новая страница: « == Описание == '''printscreen''' - команда сохранения копии экрана в файл. == Синтаксис == Привязка к...») |
Cirus (обсуждение | вклад) |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 5: | Строка 5: | ||
== Синтаксис == | == Синтаксис == | ||
Привязка к окну: опционально. | Привязка к окну: опционально. | ||
− | + | <br>Работа со свернутым окном: нет. | |
− | + | <br>Работа с перекрытым окном: Да. Привязка к окну обязательна. Aero (темы Windows7) должен быть включен. Если был установлен Астер, то он должен быть отключен, а система перезагружена. | |
− | + | <br>Все параметры заключаются в скобки и разделяются запятыми. Путь указывается в кавычках. | |
− | printscreen ( | + | 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 | --lua | ||
− | printscreen (0, 0, 0, 0, 0, | + | printscreen (0, 0, 0, 0, 0, <nowiki>[[C:\window.jpg]]</nowiki>) -- скрин всего экрана |
--lua | --lua | ||
− | printscreen (0, 0, 0, 300, 300, | + | printscreen (0, 0, 0, 300, 300, <nowiki>[[C:\window1.jpg]]</nowiki>) -- скрин от левого верхнего угла экрана, размером 300*300 |
--lua | --lua | ||
− | printscreen (0, 500, 500, 200, 200, | + | printscreen (0, 500, 500, 200, 200, <nowiki>[[C:\window2.jpg]]</nowiki>) -- скрин экрана от координат 500 500, размером 200*200 |
--lua | --lua | ||
Строка 31: | Строка 31: | ||
-- сохраняются на диск C: в формате: день.месяц.год_час.минута.секунда | -- сохраняются на диск C: в формате: день.месяц.год_час.минута.секунда | ||
for _ = 1, 5 do | for _ = 1, 5 do | ||
− | printscreen (0, 0, 0, 0, 0, | + | printscreen (0, 0, 0, 0, 0, <nowiki>[[C:\]]</nowiki> .. os.date("%d.%m.%Y") .. "_" .. os.date("%H.%M.%S") .. <nowiki>[[.jpg]]</nowiki>) |
wait (1500) | wait (1500) | ||
end | end | ||
Строка 37: | Строка 37: | ||
'''Примеры для скринов перекрытых (не свёрнутых!) окон:''' | '''Примеры для скринов перекрытых (не свёрнутых!) окон:''' | ||
− | + | <br>Привязка к окну обязательна. Окна могут находиться за пределами экрана. Если на скрине "чёрный квадрат", значит надо указывать родительское окно. | |
--lua | --lua | ||
local h = findwindow ("UoPilot") -- найти окно UoPilot | local h = findwindow ("UoPilot") -- найти окно UoPilot | ||
if h then -- если окно найдено | if h then -- если окно найдено | ||
− | printscreen (h[1][1], 0, 0, 0, 0, | + | printscreen (h[1][1], 0, 0, 0, 0, <nowiki>[[C:\window4.jpg]]</nowiki>) -- скрин рабочего окна |
end | end | ||
Строка 48: | Строка 48: | ||
local h = findwindow ("UoPilot") -- найти окно UoPilot | local h = findwindow ("UoPilot") -- найти окно UoPilot | ||
if h then -- если окно найдено | if h then -- если окно найдено | ||
− | printscreen (h[1][1], 100, 100, 80, 80, | + | printscreen (h[1][1], 100, 100, 80, 80, <nowiki>[[C:\window5.jpg]]</nowiki>) -- скрин рабочего окна от координат 100 100, размером 80 на 80 |
end | end | ||
Текущая версия на 17:09, 25 октября 2020
Содержание
Описание
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