Сохранение экрана (screen.keep)
Объявление
screen.keep()
Описание
Сохраняет текущее содержимое экрана в буфере. При последующих вызовах функций получения и поиска цвета, создания снимков, поиска изображений и т. п. данные берутся из сохранённого буфера, а не с реального экрана, что повышает производительность анализа изображения и цвета.
Это функция оптимизации, ускоряющая множество функций обработки статичных изображений.
Вызов влияет только на источник данных функций XXTouch для снимков и цветов и не замораживает фактическое изображение на экране.
Пример
-- Получение цветов 6144 точек в цикле и вывод в журнал
t = {}
screen.keep()
for k = 1, 640, 10 do
for j = 1, 960, 10 do
-- Форматирование в шестнадцатеричный текст
t[#t + 1] = string.format("%X", screen.get_color(k, j))
end
end
screen.unkeep()
nLog(t)
Примечание: приведённый выше код использует функцию не из этой главы — nLog.
Полезные сведения
- Два последовательных отдельных вызова
screen.get_colorдля одной позиции могут вернуть разные значения.- Без
screen.keepотдельный вызовscreen.get_colorзанимает примерно столько же времени, сколько один вызовscreen.keep.- После вызова
screen.keepпятьдесят последовательных вызововscreen.get_colorзанимают примерно столько же времени, сколько один вызовscreen.keep.