Hi
Wie frage ich ab ob beim Pixelchecksum sich etwas geändert hat?
PixelChecksum abfragen ob sich etwas geändert hat
-
- [ offen ]
-
dpjeezy89 -
5. November 2008 um 21:53 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
Das Beispiel zu PixelChecksum aus der Hilfe macht genau das von Dir Gewünschte.
-
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
[/autoit][autoit][/autoit][autoit]
;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)Local $arr[$w][$h]
[/autoit][autoit][/autoit][autoit]For $i = $x To ($x + $w - 1) Step Round(100 / $prozent)
[/autoit][autoit][/autoit][autoit]
For $j = $y To ($y + $h - 1) Step Round(100 / $prozent)
$arr[$i - $x][$j - $y] = PixelGetColor($i, $j)
Next
NextReturn $arr
[/autoit][autoit][/autoit][autoit]EndFunc
[/autoit][autoit][/autoit][autoit][/autoit][autoit];Vergleicht 2 Colormaps und gibt True/False zurück
[/autoit]
;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 -
Nicht ganz so einfach aber das hilft mir weiter vielen dank für dein hilfe
-
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.