Moin,
Weiß jemand zufällig wie ich diesen Code in der Berechnung schneller machen könnte? Gibt es vlt. Dll's auf die man da zurückgreifen kann oder habt ihr eine Idee?
Die Funktion ermittelt in einem angegebenen Bereich die Grünwerte und verrechnet diese zu einem "Mittelwert".
Die Funktion benötigt derzeit für ein (5x5 Feld 25 Pixel) 643ms und für ein (10x10 Feld 100 Pixel) 2565ms
Edit: Durch ändern der inneren Funktion auf $green += Dec(StringMid(PixelGetColor($x, $y), 3, 2)) komme ich auf 2069ms bei 100 Pixel
Code
Func get_gcolor_checksum($start_x, $start_y, $end_x, $end_y)
Local $sum = abs($end_x-$start_x+1)*abs($end_y-$start_y+1)
Local $green = 0
For $y = $start_y To $end_y
For $x = $start_x To $end_x
$green += Dec(StringMid(PixelGetColor($x, $y), 3, 2))
Next
Next
Return "00"&Hex(BitAND($green/$sum, 255), 2)&"00"
EndFunc