Перейти к основному содержимому

Сохранение экрана (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.