Hallo KodeZwerg:
Ich hab dir mal etwas zusammengestoppelt.
Aufruf mit GetAvgColor(Dateiname) oder GetAvgColor(Bitmap)
Mit TestGetAvgColor; hab ich das Ergebnis und die Performance getestet und mit der Funktion aus #3 verglichen.
Die zurückgegebenen Durchschnittsfarben sind identisch, die Ausführungszeiten sind dagegen höchst unterschiedlich.
Danke Amateurprofi, dein Code arbeitet zwar schneller aber liefert bei mir kein Ergebnis.
Ich habe ihn gegen den Turbo von TiGü antreten lassen, siehe Anhang.
Muss ich noch eine besondere Einstellung vornehmen damit mir Dein Code einen Farbwert über 0 liefert?
Getestet mit Delphi Rio, 32-bit build, Release, unter Windows 10 64bit aktuellste patches.
Oh, das ist mir jetzt aber peinlich.
In der Funktion
GetAvgColor(Dsn:String):TColor;
steht in der vorletzten Zeile
Ändere das bitte in
Code:
Result:=GetAvgColor(Bmp);
Hintergrund ist, dass ich ursprünglich die Funktion
GetAvgColor(Bmp:TBitmap):TColor;
hatte, also die, mit einer Bitmap als Parameter.
Die Funktion mit dem Dateinamen als Parameter habe ich später hinzugefügt, aber nicht mehr getestet.
Dummerweise hatte ich da vergessen, Result zu setzen.