gpt4 book ai didi

ios - 计算两种颜色之间渐变上给定点的颜色?

转载 作者:IT王子 更新时间:2023-10-29 07:43:23 27 4
gpt4 key购买 nike

所以这基本上是我想写的方法(在 Objective-C/Cocoa 中,使用 UIColors,但我真的只对底层数学感兴趣):

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

举个例子,假设我有两种颜色,纯红色和纯蓝色。给定两者之间的线性渐变,我想计算该渐变上 33% 标记处的颜色: Example
所以如果我像这样调用我的方法:

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

我会在“B”处获得结果颜色,同样,传递 0.0f 作为位置将返回颜色“A”,而 1.0f 将返回颜色'C'。

所以基本上我的问题是,我将如何混合两种颜色的 RGB 值并确定它们之间某个“位置”的颜色?

最佳答案

您只需像这样对红色、绿色和蓝色 channel 进行线性插值:

double resultRed = color1.red + percent * (color2.red - color1.red);
double resultGreen = color1.green + percent * (color2.green - color1.green);
double resultBlue = color1.blue + percent * (color2.blue - color1.blue);

其中 percent 是介于 0 和 1 之间的值(第一个方法原型(prototype)中的 location)。

关于ios - 计算两种颜色之间渐变上给定点的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22218140/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com