1 (изменено: Enrlio, 2024-08-26 12:29:12)

Тема: AHK: ImageSearsh

Здравствуйте пишу ахк код с командой ImageSearsh помогите пожалуйста .
1) как сделать что при нахождении нужной картинки курсор ставился не на угол найденного пикселя , а плюс - минус в центр картинки?
2) можно ли как-то установить область поиска картинки, что бы скрипт исках не на всем экране?

Если вдруг нужен вот код. (нашел его на просторах интернета и передал под себя)

 
#Persistent
SetBatchLines, -1

CoordMode, Pixel, Screen

F6:: Pause
F5::
Loop

{
nah:
    ; Поиск изображения на экране
    ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, 123.png
    
        ; Дополнительные действия после нахождения изображения
        Click, %FoundX% %FoundY%
        Send, {RButton}
        ; Прерывание цикла
        Sleep, 1000
  
    ; Поиск изображения на экране
    ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, ign.png
  
        ; Дополнительные действия после нахождения изображения
        Click, %FoundX% %FoundY%
        Send, {RButton}
        ; Прерывание цикла
        Sleep, 1000
    
    ; Поиск изображения на экране
    ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, start.png 
        
        ; Дополнительные действия после нахождения изображения
        Click, %FoundX% %FoundY%
        Send, {LButton}
        ; Прерывание цикла
        return

goto nah	
}

2

Re: AHK: ImageSearsh

Enrlio пишет:

как сделать что при нахождении нужной картинки курсор ставился не на угол найденного пикселя , а плюс - минус в центр картинки?

Определите размер картинки, поделите на 2 длину и ширину, прибавьте полученные значения к координатам угла.

Enrlio пишет:

можно ли как-то установить область поиска картинки, что бы скрипт исках не на всем экране?

Читайте справку по ImadgeSearch.

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

3 (изменено: Enrlio, 2024-08-26 13:15:53)

Re: AHK: ImageSearsh

Teadrinker Спасибо со вторым вопросом разобрался , но вот с первым не понимаю . У меня картинка  ширина 37 пикселей высота 13 когда я делю их на 2 и прибавляю то курсор улетает вверх .

 Click, %FoundX% +18   %FoundY% +6 

4

Re: AHK: ImageSearsh

Сначала прибавьте значения к переменным, потом используйте в команде Click. Проверить, что получилось в результате сложения, можно через MsgBox.

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

5

Re: AHK: ImageSearsh

teadrinker Не получилось курсор так же улетает, но появилась другая проблема , скрипт почему-то игнорирует второй поиск картинки и переходит к 3. До этого он находил и нажимал на нее.

6

Re: AHK: ImageSearsh

Покажите как сделали. MsgBox должен отображать новое значение.

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

7 (изменено: Enrlio, 2024-08-26 16:01:04)

Re: AHK: ImageSearsh

  ; Поиск изображения на экране x1 u y1 левый верхний угол x2y2 правый нижний
    ImageSearch, FoundX, FoundY, 1040, 244, 1290, 325, 123.png
    
        ; Дополнительные действия после нахождения изображения
		var = %FoundX% + 18
		var1 = %FoundY% +6
		msgbox %var%, %var1%
        Click, %var%  %var1% 
        Send, {RButton}
        ; Прерывание цикла
        Sleep, 3000
    
 

8

Re: AHK: ImageSearsh

И что отображает msgbox? Советую почитать эту тему. А вот у нас даже перевод есть.

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

9

Re: AHK: ImageSearsh

teadrinker пишет:

И что отображает msgbox? Советую почитать эту тему. А вот у нас даже перевод есть.

Почитал статью , решил попробовать на простом примере даже там не получается.
MsgBox выводит " +18, +6.
Вот пробовал на более простом коде потренироваться, так же MsgBox выводит "x := y := ".

 F6:: Pause
F5::
Loop

{
1:
    ; Поиск изображения на экране x1 u y1 левый верхний угол x2y2 правый нижний
    ImageSearch, xp, yp, 0, 0, 1920, 1080, hades.png
    
        ; Дополнительные действия после нахождения изображения
	if ErrorLevel = 1
    MsgBox Изображение не найдено на экране.
else
    MsgBox Изображение найдено в координатах x := %xp%, y := %yp%.
Return
}		

10

Re: AHK: ImageSearsh

Пока оставьте в покое ImageSearch. Разберитесь, как к переменной, содержащей число, прибавить другое число и отобразить в MsgBox.

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