Das ist also im Wesentlichen die Methode Ich mag würde schreiben (in Objective-C/Cocoa, mit UIColors
, aber ich bin wirklich nur daran interessiert in der zugrundeliegenden Mathematik):Berechnen Sie die Farbe an einem bestimmten Punkt auf einem Farbverlauf zwischen zwei Farben?
+ (UIColor *)colorBetweenColor:(UIColor *)startColor andColor:(UIColor *)endColor atLocation:(CGFloat)location;
So als Beispiel sagen Ich habe zwei Farben, rein rot und rein blau. Bei einem linearen Gradienten zwischen den beiden, möchte ich die Farbe berechnen, ist, sagen wir, die 33% -Marke auf dieser Steigung:
Also wenn ich meine Methode nennen wie so:
UIColor *resultingColor = [UIColor colorBetweenColor:[UIColor redColor] andColor:[UIColor blueColor] atLocation:0.33f];
Ich würde die resultierende Farbe bei "B" erhalten, und in ähnlicher Weise würde 0.0f
als die Position die Farbe "A" zurückgeben, und 1.0f
würde die Farbe "C" zurückgeben.
Also meine Frage ist, wie würde ich gehen über das Mischen der RGB-Werte von zwei Farben und die Bestimmung der Farbe an einem bestimmten "Ort" zwischen ihnen?
Vielleicht möchten Sie sich [diese Antwort] (http://stackoverflow.com/questions/12554614/maths-for-color-gradient) ansehen – andreamazz