also wenn du schon mit reellen Zahlen arbeiten willst, dann wäre es wohl idealer das Round besser zu platzieren,
denn sonst hast du Probleme mit den oberen Farbbereichen.
schau dir mal an, was deine Funktion bei WEIß zurückliefert
z.B.:
Delphi-Quellcode:
function HighColorToTrueColor(AColor: Word): TRGBQuad;
begi
Result.rgbRed := Round(((AColor and $F800) shr 11) * 255 / 31);
Result.rgbGreen := Round(((AColor and $07E0) shr 5) * 255 / 63);
Result.rgbBlue := Round( (AColor and $001F) * 255 / 31);
end;
(wobei es ganz ohne reelle Zahlen bestimmt noch optimaler wäre)