CAGradientLayerを使用して、円の周りに/角度を付けてグラデーションを最も効率的に描画するにはどうすればよいですか?
このプロジェクトの助けを借りて、下にあるものを作成しました。描画にはビットマップ コンテキストを使用しますが、CAGradientLayerの方がはるかに効率的です。
残念ながら、線形グラデーションを作成する方法しかわかりませんでした。
CAGradientLayerを使用して、円の周りに/角度を付けてグラデーションを最も効率的に描画するにはどうすればよいですか?
このプロジェクトの助けを借りて、下にあるものを作成しました。描画にはビットマップ コンテキストを使用しますが、CAGradientLayerの方がはるかに効率的です。
残念ながら、線形グラデーションを作成する方法しかわかりませんでした。
グラデーション レイヤーは現在、線形グラデーションのみをサポートしています。ただし、グラデーション レイヤーのインターフェイスを見ると、type プロパティが含まれています。現在定義されている型は kCAGradientLayerAxial (線形) だけです。
type プロパティがあるという事実は、Apple が将来的にさらに多くの型を追加することを示唆しており、放射状グラデーションは非常によく似た追加のようです。
放射状グラデーションと線形グラデーションを描画する CAGradientLayer の独自のカスタム サブクラスを作成することを検討するかもしれません。カスタム CALayer サブクラスを作成するデモ プロジェクトをネットで見たことがあります。