Hi, ich bin neu hier im Forum und hab 1 Problem.
Ich muss den Befehl PixelSearch verwenden. Das Problem ist jetzt, das er im Prinzip den ganzen Bildshchirm absuchen soll, aber ein kleiner berich oben im Eck nicht.
Wie kann man eine Funktion schreiben, bei der man bestimmte Bereiche auslassen kann. Ich bin Anfänger, und hoffe, dass mir jemand helfen kann.
Danke schonmal,
anno2008
PixelGetColor ohne bestimmte breiche
-
- [ offen ]
-
anno2008 -
27. Februar 2008 um 16:42 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
Hallo
[autoit]$color = 0xffffff
[/autoit]
$pxs = PixelSearch(0,0,@DesktopWidth,@DesktopHeight,$color)Gibt hier sonst noch ein BOT Forum, wo du dies nachgucken kannst, falls es ein Bot werden soll.
Mfg Spider
-
Es kommt darauf an wo genau sich der Bereich befindet, aber grundsätzlich geht es folgendermaßen :
[autoit]
[/autoit]
$Links = [Linker Rand des Bereichs]
$Rechts = [Rechter Rand des Bereichs]
$Oben = [Oberer Rand des Bereichs]
$Unten = [Unterer Rand des Bereichs]
For $x = 1 To [Bildschirmbreite]
For $y = 1 To [Bildschirmhöhe]
If Not ($x >= $Links And $x <= $Rechts And $y >= $Oben And $y <= Unten) Then
[Hier die Suche machen]
EndIf
Next
Next -
Hi,
@gtaspiuder
Wie man PixelSearch macht weiss ich, es ging darum, einen bestimmten Breich aus PixelSearch auszulassen.
@JanSchmidt
Danke erstmal fuer deine Antwort. Nice Support hier.
Die variabeln
$Links = [Linker Rand des Bereichs]
$Rechts = [Rechter Rand des Bereichs]
$Oben = [Oberer Rand des Bereichs]
$Unten = [Unterer Rand des Bereichs]
Die stehn doch fuer den Bereich der ausgelassen werden soll, oder?anno2008
-
Jupp!
So jetzt aber schnell weg hier
Falls Du noch Fragen hast versuch ich sie sofort Morgen früh zu beantworten. -
Hi,
jap, ich hab noch ne Frage xD. So in etwa soll das aussehen[Blockierte Grafik: http://img137.imageshack.us/img137/1636/59750688pm8.jpg]
[autoit]
AlsoPixelSearch(24, 48, 1116, 722, 0xEB1609
[/autoit]
Und jetzt noch das Quadrat oben weg.
Was soll bei Bildschrimbreite und hoehe hin?
Also z.B. 1152 und 864?
Wenn ich das mit den Angaben in dein Script schreibe und ausprobiere erzaehlt er mit immer er haette die Farbe gefunden, obwohl sie ganz sicher nicht auf dem Bildschrim ist. Kannst du mir noch einmal Helfen morgen und das in ein Script schreiben?
Danke,
anno2008 -
Da PixelSearch immer den ersten Treffer zurückgibt, würde ich zwei Suchbereiche machen:
[Blockierte Grafik: http://img169.imageshack.us/img169/1610/59750688pm8wi0.jpg]
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit][/autoit]
Func _MyPixelSearch()
$Suchbereich1 = PixelSearch(24,48,1050,722,0xEB1609)
If Not @error Then
MsgBox(64,'Gefunden in Suchbereich 1','X: ' & $Suchbereich1[0] & 'Y: ' & $Suchbereich1[1])
EndIf
$Suchbereich2 = PixelSearch(1050,117,1050,722,0xEB1609)
If Not @error Then
MsgBox(64,'Gefunden in Suchbereich 2','X: ' & $Suchbereich2[0] & 'Y: ' & $Suchbereich2[1])
EndIf
EndFunc