Здравствуйте, гость ( Вход | Регистрация )

> FindColor (LUA), Передача переменных в findcolor
yodich
сообщение 26.2.2022, 15:07
Сообщение #1


***

Novice
Сообщений: 92
Регистрация: 24.8.2020
Группа: Пользователи
Наличность: 0
Пользователь №: 19.728
Возраст: 29



Всем доброго времени суток.

Сидел и "баловался" делая функцию, где идет обработка цветов и столкнулся с такой ситуацией, что на LUA в FindColor сложно передать данные, а именно цвет или координаты

Может кто знает удобный findcolor который сам пользуется часто + удобства отправок переменных

log ('clear')
local x, y, x1, y1 = 87, 82, 498, 275
local colorss = 2366701

local ar = findcolor (x, y, x1, y1, (colorss), '%ar') -- +
if ar then
log ('ar OK', ar)
end

local a = findcolor (x, y, x1, y1, colorss, '%ma') -- +
if a then
log ('a OK', a)
end

local b = findcolor ([[87, 82, 498, 275, (2366701) '%mb']]) -- удобен, но переменных не передает
if b > 0 then
log ('b Ok', (IMG:style_emoticons/default/cool.gif)
end

local c = findcolor ("x, y, x1, y1 (colorss) %mccc") -- вообще не понял почему не срабатывает
if c > 0 then
log ('c OK(не робит)', c)
end
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
Madeus
сообщение 20.8.2023, 0:21
Сообщение #2


*****

Journeyman
Сообщений: 319
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 11237
Пользователь №: 19.451
Возраст: 32



В общем методом проб и ошибок проверил как работает findcolor в lua, в целом все работает.
Код
--lua
local x1, y1, x2, y2 = 96, 192, 161, 195
local color1, color2 = 8535813, 12213274
local result = findcolor(x1, y1, x2, y2, 1, 1, '(' .. color1 .. '-' .. color2 .. ')', '%arr', 2, 15, 3, 'abs')
-- x1, y1, x2, y2 - координаты поиска
-- 1, 1 - шаг поиска по осям X и Y соответственно. Почти всегда указывают равным "1". (можно не указывать будет искать с шаог 1)
-- '(' .. color1 .. '-' .. color2 .. ')' - диапозон цевтов '(8535813-12213274)' текст '' в скобках (), .. конкатенация форматирует числа в текст
-- '%arr' - массив, в который записываются найденные значения. В каждую строку записываются координаты найденного пикселя. В 1-й колонке координата X, во 2-й координата Y, в третьей найденный цвет.
-- 2 - тип поиска. Может принимать значения "1" (надежный), "2" (быстрый) или целое число означающее хендл окна, в котором нужно вести поиск. Как правило, чаще используют "2", он тоже отлично работает.
-- 15 - количество найденных пикселей, после которых поиск прерывается. Если просто нужно определить наличие цвета в заданной области
-- и не важно общее число таких пикселей, то можно указать "1" - и скорость работы команды будет оптимальной. Если параметр не указывать, то будет искаться максимальное число пикселей
-- 3 - [deviation] (необязательно) - погрешность оттенка. Указывается в %. Например: есть погрешность 3%. Точка имеет цвет 100 120 130, 255*3%=7,
-- соответственно 100+/-7. При этом все цвета в пределах (93 113 123)-(107 127 137) будут считаться совпадением.
-- 'abs' -  этот параметр указывается, если вы ищете пиксели в координатах относительно верхнего левого угла экрана. Если не указывать параметр, то поиск будет идти в координатах рабочего окна текущего скрипта.
log(#arr)


Сообщение отредактировал DarkMaster - 27.8.2023, 19:57
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
yodich   FindColor (LUA)   26.2.2022, 15:07
cirus   В чём сложность? Как именно будет удобно? Потому...   26.2.2022, 15:26
yodich   В чём сложность? Как именно будет удобно? Потому...   27.2.2022, 11:02
cirus   Причём тут передача данных? В свёрнутом окне поиск...   27.2.2022, 11:41
DarkMaster   findcolor умеет работать с getimage?   18.4.2022, 1:39
Gendalfgreen   Позвольте..... А функция FindColour есть на LUA??...   28.5.2022, 23:40
DarkMaster   Из поста выше =) Вообще там с синтаксисом есть во...   29.5.2022, 2:59
Gendalfgreen   а есть возможность задать диапазон цветов? или доп...   30.5.2022, 16:58
DarkMaster   x1, y1, x2, y2, color, arr, method, count, deviati...   30.5.2022, 17:54
Kangoshi   x1, y1, x2, y2, color, arr, method, count, deviat...   14.8.2023, 12:27
Madeus   Приходится догадываться какие данные "идут т...   14.8.2023, 13:59
Gendalfgreen   к сожалению не работает((((( на параметр deviation...   31.5.2022, 21:57
DarkMaster   Тогда лишь могу предложить задавать диапазон стрин...   31.5.2022, 22:09
Gendalfgreen   Прошу ЛекБез что за стринг. имеется в виду диапазо...   31.5.2022, 22:18
Madeus   Прошу ЛекБез что за стринг. имеется в виду диапаз...   31.5.2022, 22:30
Gendalfgreen   не помогает   31.5.2022, 22:38
DarkMaster   как пишете? стринг = строка. "5134433 - 6000...   31.5.2022, 23:08
Gendalfgreen   возвращает nil while f ~= 100 do local xm, level ...   1.6.2022, 15:18
DarkMaster   ... и зачем вы передали текст "ttt" вмес...   1.6.2022, 15:32
Gendalfgreen   ув. DarkMaster если не сложно поправьте меня .......   1.6.2022, 15:55
Madeus   while f ~= 100 do local xm, level = mouse_pos...   1.6.2022, 16:37
Gendalfgreen   возвращает nil....... ((((((((((((((((((((((((((((...   1.6.2022, 18:04
yodich   возвращает nil....... (((((((((((((((((((((((((((...   19.8.2023, 19:00
DarkMaster   Вы раскомменчивали строки?   1.6.2022, 20:14
Gendalfgreen   нет   1.6.2022, 22:58
DarkMaster   Попробуйте.   2.6.2022, 14:03
Gendalfgreen   while f ~= 100 do local xm, level = mouse_pos() ...   2.6.2022, 16:23
DarkMaster   Ну собственно все, что я могу сказать - ttt у вас ...   2.6.2022, 16:31
Gendalfgreen   Это я поспешил((. Еще раз проверил работает только...   2.6.2022, 16:58
DarkMaster   в скобки возьмите внутри стринга local stat = find...   2.6.2022, 17:18
Gendalfgreen   ООООООооо ЗАРАБОТАЛО!!!! буду еще...   2.6.2022, 23:14
DarkMaster   Господа, если есть желающие заняться вики - я орга...   14.8.2023, 18:10
Madeus   Господа, если есть желающие заняться вики - я орг...   15.8.2023, 11:22
DarkMaster   Может занять некоторое время, акк для тебя запроси...   15.8.2023, 17:21
DarkMaster   Чет сомнения у меня. Дело в том, что луа и старый...   20.8.2023, 18:30
Madeus   Чет сомнения у меня. Дело в том, что луа и старый...   27.8.2023, 12:17
Zenogiasu   Я не удачный пример выбрал для теста, deviation р...   4.10.2023, 12:44
nykep   я использовал findcolor либо с нулевой погрешность...   21.8.2023, 14:28


Ответить в эту темуОткрыть новую тему
12 чел. читают эту тему (гостей: 12, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 6.9.2025, 4:05
Designed by Nickostyle