|
|
|
Помогите освоить LUA |
|
|
cirus |
31.10.2018, 13:29
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26744
Пользователь №: 16.971
Возраст: 29
|
Цитата реальный пример findimage Код --lua local a, c = findimage(0, 0, 1920, 1080, {[[C:\Users\abc\Desktop\image.bmp]]}, 2) -- a - это массив, c - количество картинок или точность поиска, если картинка одна if a then move(a[1][1], a[1][2]) end Цитата findcolor Вроде как не доделан. Поэтому костыль. Передавать все параметры в виде строки. Код --lua local a = findcolor("0, 0, 1920, 1080, 1, 1, 7223552, 2") hint (a) Цитата примеры на lua "надёжно" зарыты http://uopilot.tati.pro/index.php?title=Список_функций_(Lua)Только то, что работает в 2.40 (релиз, а не бета).
|
|
|
|
sutra |
31.10.2018, 14:01
|
Adept
Сообщений: 923
Регистрация: 10.8.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.007
|
--lua log "clear" log "mode compact" addressl, widthl, heightl, lengthl = loadimage ([[C:\TMP\Original.bmp]]) log(widthl, heightl, lengthl) addressg, widthg, heightg, lengthg = getimage (470, 924, 500, 933) log(widthg, heightg, lengthg) local a, c = FindImage(0, 0, 1920, 1080, addressl, addressg, 100) deleteimage (addressl) deleteimage (addressg)
Не работает, дает ошибку.
Сорри, забыл на строчные переделать. Спасибо.
|
|
|
|
sutra |
31.10.2018, 14:17
|
Adept
Сообщений: 923
Регистрация: 10.8.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.007
|
--lua log "clear" log "mode compact" addressl, widthl, heightl, lengthl = loadimage ([[C:\TMP\Original.bmp]]) log(widthl, heightl, lengthl) addressg, widthg, heightg, lengthg = getimage (470, 924, 470, 933) log(widthg, heightg, lengthg) local a, c = findimage(0, 0, 1920, 1080, {addressl, addressg}) if a then move(a[1][1], a[1][2]) end log(a, c) -- результат LuaTable 100 Примерно так. При ширине захвата 1 пиксель deleteimage (addressl) deleteimage (addressg)
Методом тыка ошибок избежал, но ничего не понял. Адреса заключил в фигурные скобки, насколько это правильно я не знаю.
|
|
|
|
cirus |
31.10.2018, 14:23
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26744
Пользователь №: 16.971
Возраст: 29
|
Код --lua log "clear" log "mode compact" addressl = loadimage ([[C:\TMP\Original.bmp]]) addressg = getimage (0, 0, 1920, 1080)
local a, c = findimage(0, 0, 1920, 1080, {addressl}, addressg) if a then move(a[1][1], a[1][2]) end log(a, c) deleteimage (addressl) deleteimage (addressg)
|
|
|
|
sutra |
31.10.2018, 14:43
|
Adept
Сообщений: 923
Регистрация: 10.8.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.007
|
Спасибо разобрался. Ну в общем тот баг и в lua проявляется точно так же. Результат один в один. Цитата Иначе не находит Да в том то и фишка, что находит, только нужно большее пространство захвата по ширине. Видимо блок координат анализа зависит от ширины картинки оригинала. Не зря же результат начинает падать (уменьшаться от 100%) при уменьшении зоны захвата (если не задавать параметр поиска 100%, а скажем оставить поумолчанию 80%). А как чё-нить положить в клипбоард в lua ? Как я понимаю это потом можно забрать в пилотовском коде.
|
|
|
|
cirus |
1.11.2018, 13:09
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26744
Пользователь №: 16.971
Возраст: 29
|
Код --lua local a = findcolor("0, 0, 1920, 1080, 1, 1, 6106880, %arr, 2") if arr then move (arr[1][1], arr[1][2]) end
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|