PixelChecksum abfragen ob sich etwas geändert hat

  • Hab mich doch etwas zu kurz ausgetrückt.
    Ich hab schon in die Hilfedatei gekuckt mache ich immer.
    Also ich möchte das er denn bereich checkt und falls sich etwas ändert dann soll er das in einer ini rein schreiben und das immer und falls sich nichts ändert auch.

  • Ich hatte mal zwei Funktionen geschrieben, die dir vielleicht helfen:

    [autoit]

    ;gibt ein 2D-Array mit allen Farbpixeln zurück
    ;x & y: linke obere Ecke
    ;w + h: Ausdehnung
    ;Prozent der Genauigkeit: 100->jeder Pixel wird geprüft; 50->jeder zweite Pixel wird geprüft
    Func get_colormap($x, $y, $w, $h, $prozent = 100)

    [/autoit][autoit][/autoit][autoit]

    Local $arr[$w][$h]

    [/autoit][autoit][/autoit][autoit]

    For $i = $x To ($x + $w - 1) Step Round(100 / $prozent)
    For $j = $y To ($y + $h - 1) Step Round(100 / $prozent)
    $arr[$i - $x][$j - $y] = PixelGetColor($i, $j)
    Next
    Next

    [/autoit][autoit][/autoit][autoit]

    Return $arr

    [/autoit][autoit][/autoit][autoit]

    EndFunc

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    ;Vergleicht 2 Colormaps und gibt True/False zurück
    ;True: Maps sind gleich in jedem Pixel
    Func compare_colormaps($map1, $map2)

    Local $gleich = True

    For $i = 0 To UBound($map1, 1) - 1
    For $j = 0 To UBound($map1, 2) - 1
    If $map1[$i][$j] <> $map2[$i][$j] Then
    $gleich = False
    ExitLoop
    EndIf
    Next
    If Not $gleich Then ExitLoop
    Next

    Return $gleich

    EndFunc

    [/autoit]
  • Aber der Sinn einer Checksum ist doch, dass man nicht riesige Arrays vergleichen muss. Von daher verstehe ich nicht was die 2 Funktionen bringen sollen, weil Pixelchecksum genau das selbe kann.