1 (изменено: yura170100, 2021-08-06 18:31:41)

Тема: AHK: ImageSearch с параметром *TransN

На экране вспывает мини-игра. Скрипт должен находить стрелки или же буквы, которые им соответствуют. Проблема в том, что под стрелками и буквами всегда находится динамический фон. С данной проблемой должен справиться параметр *TransN, но он не срабатывает.
Код:

CoordMode, Pixel, Screen
!2::
 imgFound := false
 while(imgFound = false)
 {
  imageSearch, x, y , 0, 0, 1920,1080, *TransBlack up.png
  if(x <> "")
  {
   MouseMove, %x%, %y%
   imgFound := true
  }
Else
{
Msgbox, Неудачно
Exit
}
}
return

Прилагаю картинки, с которыми необходимо провести манипуляции:

Imgur

2

Re: AHK: ImageSearch с параметром *TransN

yura170100, для игр у нас есть соответствующая ветка, переношу.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: ImageSearch с параметром *TransN

По теме, есть ещё один параметр *n, можете попробовать использовать его.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

4 (изменено: yura170100, 2021-08-06 18:39:27)

Re: AHK: ImageSearch с параметром *TransN

teadrinker
Поднимал этот параметр до 50, результата нет. Проблема именно в параметре *TransN.

5

Re: AHK: ImageSearch с параметром *TransN

По синтаксису всё правильно, может вместо Black надо что-то более подходящее.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6

Re: AHK: ImageSearch с параметром *TransN

Пробовал подставлять 0x000000. Так же подставлял параметр *50. Все равно не находит

7

Re: AHK: ImageSearch с параметром *TransN

yura170100 пишет:

Пробовал подставлять 0x000000

А чем это от Black отличается?
Я не уверен, что этот параметр вообще здесь играет роль. Я так понял из описания, что он применяется, когда в картинке, по которой мы ищем, есть прозрачные области, в вашем случае в картинке, которая в файле up.png. Именно в самой картинке, а не на экране.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8 (изменено: yura170100, 2021-08-06 19:24:19)

Re: AHK: ImageSearch с параметром *TransN

teadrinker
Это черный цвет, но в HEX.
Это параметр, который может принимать любое значение, то есть, в данном случае, динамический фон, если не ошибаюсь.

9

Re: AHK: ImageSearch с параметром *TransN

teadrinker
Может есть какой-то другой путь что бы это реализовать? Никак в голову не приходит. Пытался через найденную в интернете функцию FindText, но безрезультатно.

10

Re: AHK: ImageSearch с параметром *TransN

Есть, но простых нет. Можно сделать скриншот, программно перевести его в ЧБ, поднять порог, и получить контрастное чёрно-белое изображение в памяти, и осуществлять поиск уже в нём. Можно воспользоваться dll OpenCV, но на AHK готовый код будет проблематично найти.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

11

Re: AHK: ImageSearch с параметром *TransN

teadrinker
Пробовал нечто подобное, через найденную на просторах интернета функцию FindText. Но он почему-то не очень видит эти стрелочки.

12

Re: AHK: ImageSearch с параметром *TransN

Мне лично пробовать пока не приходилось.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

13

Re: AHK: ImageSearch с параметром *TransN

Нашел решение. Не должно быть полупрозрачных пикселей, в этом помог paint.net, фотошоп как-то криво справлялся с этой задачей. прозрачный цвет в параметре *TransN следует обозначать как *Trans0x00000000. Вопрос закрыт, благодарю.