Wenn ich das richtig verstehe, willst du das durchschnittliche IMDB Rating (1 bis 10 Punkte) auf eine Progressbar ähnliche (!) Darstellung mit Sternen abbilden.
Wäre es dann nicht komplett ausreichend die durchschnittliche Bewertung durch 10 zu teilen und mit der Bitmapweite zu multiplizieren.
Dann runden, um den Wert in Pixeln zu ermitteln, mit dem du die Sterne gelb zeichnen musst.
Ausgefüllter_Bereich_Der_Sterne := Round(6,9 / 10 * 150); // ergibt 104
Delphi-Quellcode:
function TTMDBInfo.ComputeStarRate: longint;
const
DEFAULT_BITMAP_WIDTH = 150.0;
begin
Result := Round((gM.vote_average / 10) * DEFAULT_BITMAP_WIDTH);
end;
Danke denke werde es auf diese weise machen scheint mir genauer zu sein.
So wie @Gausi schon sagte habe ich ja schon den Durchschnittswert (Average) und muß diesen nicht nochmals berechnen.
EDIT:
Habe jetzt 10 Sterne addiert.. etwas wuchtig aber besser für die Übersicht.
Notfalls muß ich den Dialog noch etwas in der Breite verändern. Könnte für die Votes etwas knapp werden.