gibt es ne möglich keit pixel zu zählen? also wenn man der funktion die farbe und die koordinaten zu weißt das es dann ausgibt wie viele pixel mit der farbe vorhanden sind
pixel zählen
-
- [ offen ]
-
dph_dph -
7. Dezember 2009 um 17:33 -
Geschlossen -
Erledigt
-
-
Kann man ohne weiteres machen mittels PixelGetColor, aber wofür braucht man sowas denn?
-
pick it^^
-
Understood hatte da mal was gemacht.
Allerdings sehr langsam und ich bin auch nicht sicher ob es funktioniert *g* -
Habe auch ne Lösung gebastelt... dauert aber auch extrem lang lol... trotzdem hier mal zum testen
[autoit]_PixelCount(0x000000)
[/autoit][autoit][/autoit][autoit]Func _PixelCount($Color,$sX=1,$sY=1,$eX=@DesktopWidth,$eY=@DesktopHeight)
[/autoit][autoit][/autoit][autoit][/autoit]
Local $Pixel
For $X = $sX To $eX
For $Y = $sX To $eY
If PixelGetColor($X,$Y) = $Color Then
$Pixel += 1
ConsoleWrite($Pixel & @CRLF)
EndIf
Next
Next
EndFunc -
Habe auch ne Lösung gebastelt... dauert aber auch extrem lang lol... trotzdem hier mal zum testen
[autoit]_PixelCount(0x000000)
[/autoit] [autoit][/autoit] [autoit]Func _PixelCount($Color,$sX=1,$sY=1,$eX=@DesktopWidth,$eY=@DesktopHeight)
[/autoit] [autoit][/autoit] [autoit][/autoit]
Local $Pixel
For $X = $sX To $eX
For $Y = $sX To $eY
If PixelGetColor($X,$Y) = $Color Then
$Pixel += 1
ConsoleWrite($Pixel & @CRLF)
EndIf
Next
Next
EndFuncDas bei nem 24" Monitor mit 1960x1080 Auflösung
-
- Offizieller Beitrag
Eine Zeile (1920 Pixel) bei meinem 24 Zöller dauert ~37 sek. und das mit 'nem Phenom II X4 940 Processor (4x 3.0 GHz).
Aber andererseits finde ich das sogar gut. Das behindert die Botter.
-
Hi,
ein Beispielscript um die Koordinaten aller schwarzen Pixel einer Grafik in eine Datei zu schreiben und auch noch die Farben der einzelnen Pixel in einem Array vorzuhalten habe ich vor kurzem im engl. Forum gepostet.
Es gibt noch etwas Potenzial zur Geschwindigkeitsverbesserung der reinen AutoIt-Lösung, aber1680x1050 in einigen hundert Millisekunden war dem dortigen Threadersteller schnell genug. Übrigens ging es dort nicht um einen Bot, es hat im Bezug auf die Antworten große Vorteile, wenn man die "Karten offen auf den Tisch legt"!ZitatAber andererseits finde ich das sogar gut. Das behindert die Botter.
Naja, sagen wir mal so, wer darauf angewiesen ist, in einem sehr simplen Computerspiel zu betrügen bzw. nicht in der Lage ist, virtuelles Pixel-"Vermögen" auf rechtmäßige Art und Weise zu erreichen, dem fehlt auch meist der "Skill" um ein simples Script so umzuschreiben (und per Suchfunktion erstmal zu finden ), daß es auf die eigenen Anforderungen passt.... Daher habe ich meistens kein Problem mit dezenten Hinweisen.
-
Habe es nocheinmal anders Versucht, jedoch ohne jegliche Beschleunigung
PixelGetColor Methode - 2207.39970534639ms für 10x10 Pixel
Spoiler anzeigen
[autoit]_PixelCount(0x000000,1,1,10,10)
[/autoit] [autoit][/autoit] [autoit]Func _PixelCount($Color,$sX=1,$sY=1,$eX=@DesktopWidth,$eY=@DesktopHeight)
[/autoit]
Local $Pixel = 0
$t = TimerInit()
For $X = $sX To $eX
For $Y = $sX To $eY
If PixelGetColor($X,$Y) = $Color Then
$Pixel += 1
ConsoleWrite($Pixel & @CRLF)
EndIf
Next
Next
ConsoleWrite("Es wurden " & $Pixel & " Pixel in " & TimerDiff($t) & "ms gefunden.")
EndFuncPixelSearch Methode - 2172.71497319062ms für 10x10 Pixel
Spoiler anzeigen
[autoit]_PixelCount(0x000000,1,1,10,10)
[/autoit] [autoit][/autoit] [autoit]Func _PixelCount($Color,$sX=1,$sY=1,$eX=@DesktopWidth, $eY=@DesktopHeight)
[/autoit]
Local $Pixel = 0
$t = TimerInit()
For $X = $sX To $eX
For $Y = $sX To $eY
$Coord = PixelSearch( $X, $Y, $X, $Y, $Color)
If Not @error Then
$Pixel += 1
ConsoleWrite($Pixel & "Pixel wurden gefunden." & @CRLF & "Der letzte bei: " & $Coord[0] & "," & $Coord[1] & @CRLF)
EndIf
Next
Next
ConsoleWrite("Es wurden " & $Pixel & " Pixel in " & TimerDiff($t) & "ms gefunden.")
EndFunc -
ja es handelt sich eh nur um ca max 50x50 kästchen die überprüft werden sollen
-
Naja, sagen wir mal so, wer darauf angewiesen ist, in einem sehr simplen Computerspiel zu betrügen bzw. nicht in der Lage ist, virtuelles Pixel-"Vermögen" auf rechtmäßige Art und Weise zu erreichen, dem fehlt auch meist der "Skill" um ein simples Script so umzuschreiben (und per Suchfunktion erstmal zu finden ), daß es auf die eigenen Anforderungen passt.... Daher habe ich meistens kein Problem mit dezenten Hinweisen.
naja bei dem spiel geht es halt um schnelligkeit^^ un da manche nur nach den items gucken un die grabben un ich die monster kill hab ich meist keine chance beim grabben...
-
Zitat
naja bei dem spiel geht es halt um schnelligkeit^^ un da manche nur nach den items gucken un die grabben un ich die monster kill hab ich meist keine chance beim grabben...
nothing more to say...
-
- Offizieller Beitrag
Es war ja klar...
Forenregeln lesen!
[Thread closed]