【发布时间】:2014-03-06 07:43:08
【问题描述】:
所以这基本上是我想编写的方法(在 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 作为位置将返回颜色“A”,1.0f 将返回颜色“C”。
所以基本上我的问题是,我将如何混合两种颜色的 RGB 值并确定它们之间某个“位置”的颜色?
【问题讨论】:
-
你可能想看看this answer
标签: ios colors gradient uicolor