7

Core Graphics を介して描画した多角形を線形 CGGradient で塗りつぶしたいと考えています。CGContextDrawLinearGradient 関数は、ある点から別の点へグラデーションを描画しますが、ビュー全体を塗りつぶします。描画したポリゴン シェイプ内のみにグラデーションを表示するにはどうすればよいですか?

4

1 に答える 1

18

目的の形状で CGMutablePath を構築し、それを使用して、表示する領域にクリップすることができます...

// Construct yourClipPath

CGContextAddPath(yourContext, yourClipPath);
CGContextClosePath(yourContext);
CGContextClip(yourContext);

// Draw Your Gradient
于 2009-06-22T08:10:48.687 に答える