Funktionsreferenz

PixelSearch

Sucht in einem Rechteck nach einem Pixel der angegebenen Farbe.

PixelSearch ( left, top, right, bottom, color [, shade-variation] [, step]] )

 

Parameter

left Linke Koordinate des Rechteckes.
top Obere Koordinate des Rechteckes.
right Rechte Koordinate des Rechteckes.
bottom Untere Koordinate des Rechteckes.
colour Farbwert, der gesucht werden soll (dezimal oder hexadezimal).
shade-variation [optional] Eine Zahl zwischen 0 und 255, die angibt, um viele grüne, blaue und rote Farbnuancen sich das überprüfete Pixel vom exakten Farbwert unterscheiden darf.Stnadrd ist 0 (exakte Übereinstimmung).
step [optional] Anstatt jedes einzelne Pixel in die Berechnung einzubeziehen, kann ein Wert größer als 1 gewählt werden, um (zur Beschleunigung) Pixel zu überspringen. Z.B. wird der Wert 2 nicht jedes Pixel überprüfen. Standard ist 1.

 

Bemerkungen

Die Suche wird von oben nach unten und von links nach rechts durchgeführt. Es wird das erste passende Pixel zurückgegeben.

Frühere Versionen von AutoIt (vor 3.0.102) benutzten das BGR-Format, um Farben zu definieren. Neuere Versionen verwenden standardmäßig das RGB-Format, was aber über ColorMode geändert werden kann.

Die Suche kann zeitaufwändig sein. Du solltest also möglichst kleine Rechtecke verwenden, um den Prozessor zu schonen.

 

Siehe auch

ColorMode (Option), PixelChecksum, PixelGetColor, PixelCoordMode (Option)

 

Beispiel


; Find a pure red pixel in the range 0,0-20,300
$coord = PixelSearch( 0, 0, 20, 300, 0xFF0000 )
If Not @error Then
    MsgBox(0, "X and Y are:", $coord[0] & "," & $coord[1])
EndIf


; Find a pure red pixel or a red pixel within 10 shades variations of pure red
$coord = PixelSearch( 0, 0, 20, 300, 0xFF0000, 10 )
If Not @error Then
    MsgBox(0, "X and Y are:", $coord[0] & "," & $coord[1])
EndIf