在CGContext中使用渐变填充形状

时间:2009-06-22 08:06:31

标签: objective-c cocoa cgcontext

我想用线性CGGradient填充我通过Core Graphics绘制的多边形形状。 CGContextDrawLinearGradient函数从一个点到另一个点绘制渐变,但它填充整个视图。如何仅在我绘制的多边形内部显示渐变?

1 个答案:

答案 0 :(得分:17)

你可以用你想要的形状构建一个CGMutablePath然后用它来剪辑到你想要显示的区域,比如......

// Construct yourClipPath

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

// Draw Your Gradient