Что нового

Как запиать координаты изображений в файл и пройтись по ним

kvitnitskiy

Новичок
Сообщения
56
Репутация
0
Доброго времени суток уважаемые форумчане.
ПОдскажите плз, как используя приведенный пример, записать координаты всех изображений в файл, и затем пройтись по этим координатам.
Код:
#include <ScreenCapture.au3>
#include "BmpSearch.au3"

HotKeySet("{ESC}", "Terminate")
HotKeySet("{F1}", "Pause")
Global $Paused
Func Terminate()
	Exit 0
EndFunc   ;==>Terminate

Func Pause()
	$Paused = Not $Paused
	While $Paused
		Sleep(50)
		ToolTip("ПАУЗА! F1")
	WEnd
	ToolTip("")
EndFunc   ;==>Pause

func findpic()
_GDIPlus_Startup()
$hSource = _ScreenCapture_Capture()
$hBmp = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "\res\opylklever.bmp")
$hFind = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBmp)
$aCoords = _BmpSearch($hSource, $hFind, 1)

If @error Then
 ConsoleWrite("Не найдено" & @CRLF)
 sleep(10)
Else
MouseClick("left",$aCoords[1][2], $aCoords[1][3],1,0)
sleep(200)
EndIf

EndFunc


while 1
sleep(100)
findpic()
wend
 

InnI

AutoIT Гуру
Сообщения
4,982
Репутация
1,460
Код:
#include <File.au3>
...
func findpic()
  _GDIPlus_Startup()
  $hSource = _ScreenCapture_Capture()
  $hBmp = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "\res\opylklever.bmp")
  $hFind = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBmp)
  $aCoords = _BmpSearch($hSource, $hFind)

  If @error Then
    ConsoleWrite("Не найдено" & @CRLF)
  Else
    _FileWriteFromArray(@ScriptDir & "\res\coords.txt", $aCoords, 1)
    For $i = 1 To UBound($aCoords) - 1
      MouseClick("left", $aCoords[$i][2], $aCoords[$i][3], 1, 0)
      sleep(200)
    Next
  EndIf

  _WinAPI_DeleteObject($hSource)
  _WinAPI_DeleteObject($hFind)
  _GDIPlus_BitmapDispose($hBmp)
EndFunc
...
 
Верх