Что нового

искать часть изображения с помощью FastFind

qqww22

Новичок
Сообщения
115
Репутация
4
Код:
#include "FastFind.au3"
#Include <WinAPI.au3>

#RequireAdmin


  HotKeySet("{ESC}", "Terminate")
HotKeySet("{F2}", "MousGetpo")
HotKeySet("{F3}", "Find")

global $red = 0x00EA282E
global $blue = 0x002B9CE7
global $purple = 0x00A244A2
global $green = 0x00B2EA26
global $green2 = 0x0028B24D


Global $Paused
Func Terminate()
    Exit 0
EndFunc


Func MousGetpo() ; берем цвет
  $xk=MouseGetPos()
  $clck=$xk[0]&","&$xk[1]&@CRLF
  $pix="0x"&hex(PixelGetColor($xk[0],$xk[1]),7)
  ConsoleWrite(@CR&$pix)
EndFunc



func find()


  

$Object2 = FFNearestSpot( 0 , 0, 1280, 1024, 0x04B5272 , 1 ,true)
If IsArray($Object2) = True Then

MouseMove($Object2[0],$Object2[1],1)

  endif



  
 
  ;action
endfunc

while 1
  sleep(10)
  WEnd
 
Автор
S_K

S_K

Новичок
Сообщения
30
Репутация
0
ваш код не работает

qqww22 сказал(а):
Код:
#include "FastFind.au3"
#Include <WinAPI.au3>

#RequireAdmin


  HotKeySet("{ESC}", "Terminate")
HotKeySet("{F2}", "MousGetpo")
HotKeySet("{F3}", "Find")

global $red = 0x00EA282E
global $blue = 0x002B9CE7
global $purple = 0x00A244A2
global $green = 0x00B2EA26
global $green2 = 0x0028B24D


Global $Paused
Func Terminate()
    Exit 0
EndFunc


Func MousGetpo() ; берем цвет
  $xk=MouseGetPos()
  $clck=$xk[0]&","&$xk[1]&@CRLF
  $pix="0x"&hex(PixelGetColor($xk[0],$xk[1]),7)
  ConsoleWrite(@CR&$pix)
EndFunc



func find()


  

$Object2 = FFNearestSpot( 0 , 0, 1280, 1024, 0x04B5272 , 1 ,true)
If IsArray($Object2) = True Then

MouseMove($Object2[0],$Object2[1],1)

  endif



  
 
  ;action
endfunc

while 1
  sleep(10)
  WEnd
 

qqww22

Новичок
Сообщения
115
Репутация
4
http://rghost.ru/6s5lDsHwH

Запусти скрипт FastFind_Demo.au3
 
Автор
S_K

S_K

Новичок
Сообщения
30
Репутация
0
да есть у меня библиотека FastFind, в одной папке с скриптом, но нечего не работает

qqww22 сказал(а):
http://rghost.ru/6s5lDsHwH

Запусти скрипт FastFind_Demo.au3
 

qqww22

Новичок
Сообщения
115
Репутация
4
А какой толк от этой библиотеки без длл?

Эта библиотека лишь формирует обращения в длл, ты пробовал запускать пример из моего архива? или пробуешь только на основание своей библиотеки.
 
Автор
S_K

S_K

Новичок
Сообщения
30
Репутация
0
понял почему не работало, дело было в разрешение экрана -высота поменьше

опять старой вопрос, нужно искать объект из 5 пикселей на изображение, но не работает, плюс нужно переделать под библиотеку FastFind

Код:
HotKeySet("{ESC}", "_Exit")
HotKeySet("{F3}", "Find")

Func _Exit()
    Exit 0
EndFunc

func Find()
  $x = 0
  $y = 0
  $xx = 0
  $zz = 0
  while 1

    $pos=PixelSearch($x,$y,@DesktopWidth,@DesktopHeight,0xED1C24,2,2) ;центр
    if not @error then
    if $pos[0] <> $xx then

      PixelSearch($pos[0],$pos[1]+1,$pos[0],$pos[1],0xB5E61D,1);вниз от центра
		 if not @error then
      PixelSearch($pos[0],$pos[1]-1,$pos[0],$pos[1],0xFFC90E,1);вверх от центра
		 if not @error then
	  PixelSearch($pos[0]+1,$pos[1],$pos[0],$pos[1],0x00A2E8,1);в право от центра
		 if not @error then
	  PixelSearch($pos[0]-1,$pos[1],$pos[0],$pos[1],0xFFF200,1);влево от центра
		 if not @error then

    ConsoleWrite(@CR&$s[0]&" ; "&$s[1])

  	  MouseMove($pos[0],$pos[1],5)
	  sleep(200)
	  MouseDown("left")
	  Sleep(200)
	  MouseUp("left")

  endif
  endif
  endif
  endif
  endif
  endif

    $y+=1
    if $y > @DesktopHeight Then
      if $x > @DesktopWidth Then ExitLoop
      $y = 0
      $x+=@DesktopWidth
    endif
        if not @error then
$xx = $pos[0]
endif
  wend
endfunc

while 1
  sleep(100)
  WEnd

qqww22 сказал(а):
А какой толк от этой библиотеки без длл?

Эта библиотека лишь формирует обращения в длл, ты пробовал запускать пример из моего архива? или пробуешь только на основание своей библиотеки.
 

Вложения

  • 1pixel.png
    1pixel.png
    288 байт · Просмотры: 144

qqww22

Новичок
Сообщения
115
Репутация
4
Сложно реализуемо ибо банально сменой координатой поиска ничего не добиться странно ищет с правого нижнего угла и даже с ограничением по ху цепляется за правый нижний, нужно искать исходники fastfinda на гидхабе и править.
 
Автор
S_K

S_K

Новичок
Сообщения
30
Репутация
0
не понимаю как решить эту задачу с помощью FastFind, ищем нужной пиксель и пиксель какой рядом (для проверки)

qqww22 сказал(а):
Сложно реализуемо ибо банально сменой координатой поиска ничего не добиться странно ищет с правого нижнего угла и даже с ограничением по ху цепляется за правый нижний, нужно искать исходники fastfinda на гидхабе и править.
 
Верх