Berechnen Sie die Farbe an einem bestimmten Punkt auf einen Verlauf zwischen zwei Farben?

So ist dies im wesentlichen die Methode, die ich möchte zu schreiben (in Objective-C/Cocoa, mit UIColors, aber ich bin wirklich nur daran interessiert, die zugrunde liegende Mathematik):

+ (UIColor *)colorBetweenColor:(UIColor *)startColor andColor:(UIColor *)endColor atLocation:(CGFloat)location;

So als ein Beispiel, sagen wir ich habe zwei Farben, reines rot und reines blau. Gegeben ein linearer Verlauf zwischen den beiden, ich will zum berechnen der Farbe, die bei, sagen wir, die 33% - Marke auf das Gefälle:
Berechnen Sie die Farbe an einem bestimmten Punkt auf einen Verlauf zwischen zwei Farben?


Wenn ich also nenne meine Methode so:

UIColor *resultingColor = [UIColor colorBetweenColor:[UIColor redColor] andColor:[UIColor blueColor] atLocation:0.33f];

Ich würde die resultierende Farbe an 'B', und ähnlich, vorbei 0.0f als den Ort zurückkehren würde, Farbe "A", und 1.0f zurückkehren würde Farbe 'C'.

Also im Grunde meine Frage ist, wie würde ich mich über das mischen der RGB-Werte der beiden Farben und der Bestimmung der Farbe bei einem bestimmten 'Ort' zwischen Ihnen?

InformationsquelleAutor blabus | 2014-03-06
Schreibe einen Kommentar