Jump to content

ivanius

Members
  • Posts

    6
  • Joined

  • Last visited

ivanius's Achievements

Seeker

Seeker (1/7)

0

Reputation

  1. Who can compile new 2.3 version with bug fixes (9 month ago). From GitHub https://github.com/FastFrench/FastFind
  2. how to use it in autoit? now i use this Com Object - https://code.google.com/p/selenium-vba/ But this work me, i don`t know why, all code work prefect in VBAS but not in AutoIT....
  3. oh thanks, my previous question is very old and i find the answer id docs. My next questions 1)can i load img, NOT take snapshot. U lib is very simply to small processing on img. 2)Take 1 big snapshot and add exclude rects slower than take many small snapshots.... logs 200 mb and for all pixels uses "isexcluded" function.
  4. Hi all, i have too many imgs for work and need to automate process. The idea: 1.Take a back color - the first pixel on top and left in img 2.Use the FastFind.dll (FastFrench) for find the biggest spot on img with not back color, but it library cant load img from file - only snapshot , i need to find something like this library or find the way to load img in library 2.a)2 Fors on img for get binary array(map) with 0-back color, 1-something else 2.b)Apply Filter on img for delete all except back, and now we have map with 1-back color, 0-something else 3.Find on map the biggest spot, crop and save OR change color on all other spots in back 4.PROFIT (chage my post if u find errors in text)
  5. Hi, i`m try use this library 2 days and now i have this function if some need. This works like Standart Pixel Search and have some more greate update by FF. Func _PixelSearch($Left, $Top, $Right, $Bottom, $Colors, $ShadeVariation = 0, $Step = 1, $hWnd = -1, $PixelsCount = 1, $AreaSize = 1, $PosX = -1, $PosY = -1) ;calculate Real Pos and Size Local $Temp If $Left > $Right Then $Temp = $Right $Right = $Left $Left = $Temp $PosX = $Left EndIf If $Top > $Bottom Then $Temp = $Bottom $Bottom = $Top $Top = $Temp $PosY = $Bottom EndIf ;check for Position If $PosX = -1 Then $PosX = $Right ;Int(($Right - $Left) / 2) If $PosY = -1 Then $PosY = $Top ;Int(($Bottom - $Top) / 2) If $PosX < 0 Then $PosX = 0 If $PosY < 0 Then $PosY = 0 ;check for Colors If IsArray($Colors) Then FFResetColors() For $i = 0 To UBound($Colors) -1 FFAddColor($Colors[$i]) Next $Colors = -1 EndIf If $Left = 0 Then $Left = 1 If $Top = 0 Then $Top = 1 ;FFNearestSpot($SizeSearch, $NbPixel, $PosX, $PosY, $Color, $ShadeVariation=0, $ForceNewSnap=true, $Left=0, $Top=0, $Right=0, $Bottom=0, $NoSnapShot=$FFLastSnap, $WindowHandle=-1) If $hWnd = -1 Then ;FFAddExcludedArea() Local $result = FFNearestSpot($PixelsCount, $AreaSize, $PosX, $PosY, $Colors, $ShadeVariation, False, 0, 0, $Left + $Right, $Top + $Bottom, False,0) ;Local $result = DllCall($FFDllHandle, "int", "GenericColorSearch", "int", $PixelsCount, "int*", $AreaSize, "int*", $PosX, "int*",$PosY, "int", $Colors, "int", $ShadeVariation, "int", $FFLastSnap) Else ;FFAddExcludedArea($Left, $Top, $Right, $Bottom) Local $result = FFNearestSpot($PixelsCount, $AreaSize, $PosX, $PosY, $Colors, $ShadeVariation, False, $Left, $Top, $Right, $Bottom, False, $hWnd) ;Local $result = DllCall($FFDllHandle, "int", "GenericColorSearch", "int", $PixelsCount, "int*", $AreaSize, "int*", $PosX, "int*",$PosY, "int", $Colors, "int", $ShadeVariation, "int", $FFLastSnap) ;FFResetExcludedAreas() EndIf ;check for errors If Not IsArray($result) Then SetError(1) Return False Else Return $result EndIf But, u need write before use somthing this^ $aWinPos = WinGetPos("") $aWinSize = WinGetClientSize("") $hWnd = WinGetHandle("") $rEndX = $aWinSize[0] $rEndY = $aWinSize[1] FFSnapShot(0, 0, $rEndX, $rEndY, $FFDefaultSnapShot, $hWnd) ;and now u can use this function for this FFSnapShot Local $Colors = [0xECECEC,0xCBCBCB] _PixelSearch($rEndX - 10, $rEndY - 10, $rEndX - 160, $rEndY - 160, $Colors, 5, 1, $hWnd, 1, 2) ;or _PixelSearch($rEndX - 10, $rEndY - 10, $rEndX - 160, $rEndY - 160, 0xCBCBCB, 5, 1, $hWnd, 1, 2) Who can help me for update this fuction for dllcall use and maybe crop SnapShot fist (i try ;FFAddExcludedArea($Left, $Top, $Right, $Bottom)) P.S.Strongly not kick me for my eng - I'm from Ukraine
×
×
  • Create New...