は、興味深いことだあなたはもちろん、通常の...実際にCAGradientLayerに沿ったポイントで色を「計算」しますか?ここ
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配列(およびマッチング色1)がエントリの数十または数百を持つことができる持っていると言います、問題の中心
OK - iOSは、さまざまな色で旋回するグラデーションを完全にレンダリングします。
ここで、私は"ポイント0.3437で、色は何ですか?"と質問しますか?
どうすればよいですか?
CAGradientLayer
には吐き出す方法がありますか?
逆に(CAGradientLayerを使用しない場合)、CとLの補間を計算する方法はありますか?
(PSは、はい、私はあなたがレンダリングからのピクセルの色を読むことができる知っています;。ここにはいない質問)
Ah!それはあなたの時間のかなりの無駄でした、Tawa - 申し訳ありません。 .startPoint、.endPointは何もありません。問題は、.locations配列内の数十点を想像してみてください! – Fattie
@Fattieいいですね。アルゴリズムを更新して、複数の点を受け入れることができます。さもなければ私はあなたの質問で言及したようなピクセルを得ることがあなたの唯一の賭けだと思う。 – TawaNicolas