【发布时间】:2018-04-18 17:26:04
【问题描述】:
这里有件有趣的事,说你有平常的...
var gradientLayer = CAGradientLayer()
func setup() {
C = some complicated array of CGColors
L = some complicated array of NSNumber (mono' increasing)
gradientLayer.colors = C
gradientLayer.locations = L
gradientLayer.startPoint = CGPoint(x: 0, y: 0.5)
gradientLayer.endPoint = CGPoint(x: 1, y: 0.5)
layer.insertSublayer(gradientLayer, at: 0)
}
注意当然 .locations 数组(以及匹配颜色的数组)可以有数十或数百个条目,这是问题的核心。
好的 - iOS 将完美地渲染渐变,通过各种颜色旋转。
现在说我然后问“在点 0.3437,颜色是什么”?
如何得到它?
CAGradientLayer有办法吐出来吗?
相反(不使用 CAGradientLayer),有没有办法计算 C 和 L 中的插值?
(PS,是的,我知道您可以从渲染中读取像素颜色;这里不是问题。)
【问题讨论】:
标签: ios cagradientlayer cgcolor