А можно в одном снятии экрана поискать сразу несколько картинок? Что-то вроде проверки одной и той же отснятой области на совпадением с одним из шаблонов из списка.
Как будто, сейчас все предлагаемые шаблоны сводятся ко множественным вызовам в цикле findimage, который, получается, каждый раз скриншотит?
Loadimage помогает покэшить или findimage каждый раз приходится читать с диска?
upd.
Дополню ответом для следующих ищущих.
getimage, действительно, всё решает.
Код
-- load images
local images = {}
local address1 = loadimage([[D:\images\pattern1.bmp]])
images[1] = { address1 }
local address2 = loadimage([[D:\images\pattern2.bmp]])
images[2] = { address2 }
-- continuously search for patterns on screen
local startX, startY = 700, 1000
local endX, endY = startX + 100, startY + 200
while true do
local screenshot, width, height = getimage(startX, startY, endX - 1, endY - 1) -- compensate added +1 pixel to both dimensions due to a bug
for index, image in ipairs(images) do
local resultCoords, resultCode = findimage(0, 0, width, height, image, screenshot, accuracy, 1, deviation)
if (resultCode and resultCode > 0) then
-- process found image
end
end
deleteimage(screenshot)
end
Плюс ещё есть тут
https://forum.uokit.com/index.php?showtopic=70951https://forum.uokit.com/index.php?showtopic=30000