Funktionsreferenz

PixelChecksum

Erstellt eine Prüfsumme für einen Bereich von Pixeln.

PixelChecksum ( left, top, right, bottom [, step [, hwnd [, mode]]] )

 

Parameter

left linke Koordinate des Rechtecks.
top obere Koordinate des Rechtecks.
right rechte Koordinate des Rechtecks.
bottom untere Koordinate des Rechtecks.
step [optional] Anstatt jedes Pixel in die Prüfsumme einzubeziehen, kann man einen Wert größer als 1 verwenden, um Pixel zu überspringen (schneller), z.B. wird ein Wert von 2 nur jedes zweite Pixel prüfen. Standard ist 1. Es wird nicht empfohlen, eine Schrittweite größer als 1 anzuwenden.
hwnd [optional] Handle des zu durchsuchenden Fensters
mode [optional] Standard 0 ADLER Prüfsumme , 1 CRC32 Prüfsumme.

 

Rückgabewert

Erfolg: Gibt die Prüfsumme des Bereichs zurück.
Fehler: Gibt 0 zurück.

 

Bemerkungen

Eine Prüfsumme erlaubt nur festzustellen, dass sich "etwas" in einem Bereich geändert hat - aber nicht, was genau.

Frühere Versionen waren sehr langsam, jedoch läuft die Funktion mittlerweile erheblich schneller. Es wird nicht mehr empfohlen, den step Parameter zu verwenden. Weil die Funktion jetzt insgesamt schneller arbeitet, ist durch eine größere Schrittweite kein wirklich erkennbarer Leistungsgewinn zu verzeichnen. Außerdem, je größer die Schrittweite, desto unzuverlässiger wird die Prüfsumme darin, geringe Veränderungen in dem Bereich zu erkennen.

CRC32 Prüfsumme ist etwas langsamer als ADLER. Jedoch werden Pixelunterschiede besser erkannt.

 

Verwandte Funktionen

PixelGetColor, PixelCoordMode (Option), PixelSearch

 

Beispiel


; Wartet, bis sich in der Region 0,0 bis 150,150 etwas verändert

; Startwert der zu prüfenden Checksumme ermitteln
$checksum = PixelChecksum(0,0, 150,150)

; Wartet, bis sich die Region verändert. Die Region wird alle 100ms überprüft, um die CPU-Last niedrig zu halten.
While $checksum = PixelChecksum(0,0, 150, 150)
  Sleep(100)
WEnd

MsgBox(0, "", "In der Region trat eine Änderung auf!")