Funktionreferenz


PixelChecksum

Beschreibung anzeigen in

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

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

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. Standard ist der Desktop. Siehe Bemerkungen.
mode [optional] Standard 0 ADLER Prüfsumme, 1 CRC32 Prüfsumme.

Rückgabewert

Erfolg: die Prüfsumme des Bereichs.
Fehler: 0.

Bemerkungen

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

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

Wenn PixelCoordMode auf den Standardmodus SCREEN (1) eingestellt ist, wird der Parameter hwnd ignoriert. Nur wenn PixelCoordMode auf WINDOW (0) oder CLIENT (2) eingestellt ist, wird er beachtet.

Verwandte Funktionen

PixelCoordMode (Option), PixelGetColor, PixelSearch

Beispiel

#include <MsgBoxConstants.au3>

; Wartet bis sich im Bereich 0,0 bis 50,50 was verändert

; Startwert der zu prüfenden Checksumme ermitteln
Local $iCheckSum = PixelChecksum(0, 0, 50, 50)

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

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