CGContext
に2つの方法を使ってグラデーションを描くことができるとすれば、それはdrawLinearGradient
とdrawRadialGradient
です。私が探しているのは、x
とy
半径を定義できる楕円勾配を定義する方法です。CGContextの楕円放射状勾配?
この機能の別の環境での例(SVG
)。
<RadialGradient id="gradient" cx="50" cy="50" rx="20" ry="40" fx="150" fy="75">
drawRadialGradient
の既存の宣言は以下の通りです。
func drawRadialGradient(_ gradient: CGGradient,
startCenter: CGPoint,
startRadius: CGFloat,
endCenter: CGPoint,
endRadius: CGFloat,
options: CGGradientDrawingOptions)
開始半径と終了半径の両方がスカラー値なので、できることは円です。 CGContext
にどのように楕円形のグラデーションを描画できますか?
トランスフォームのスケーリングは、アーティファクトを追加するため、オプションではありません。 –
拡大したサイズでレンダリングして縮小する方法はありますか? –