RGB (Grün)Farbenmischer besserer Speed möglich?

  • 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

    Einmal editiert, zuletzt von Texos (10. Mai 2020 um 01:28)

  • Hat sich schon erledigt.