Рассчитать цвет в данной точке на градиенте между двумя цветами?
Так что это по сути метод, который я хотел бы написать (в Objective-C / Cocoa, используяUIColors
, но я действительно просто интересуюсь основной математикой):
+ (UIColor *)colorBetweenColor:(UIColor *)startColor andColor:(UIColor *)endColor atLocation:(CGFloat)location;
В качестве примера, скажем, у меня есть два цвета, чистый красный и синий. Учитывая линейный градиент между ними, я хочу вычислить цвет, который, скажем, на отметке 33% на этом градиенте:
UIColor *resultingColor = [UIColor colorBetweenColor:[UIColor redColor] andColor:[UIColor blueColor] atLocation:0.33f];
Я бы получил результирующий цвет на «B», и аналогично, передавая0.0f
в качестве местоположения будет возвращен цвет «А», и1.0f
вернул бы цвет 'C'.
Итак, в основном мой вопрос: как мне смешать значения RGB двух цветов и определить цвет в определенном «месте» между ними?