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

有帮助吗?

解决方案

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

// Construct yourClipPath

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

// Draw Your Gradient
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top