我正在绘制 CGPath
,它不是矩形或正方形,并将 CGPath
添加到 CAShapeLayer
. 这个 CAShapeLayer
的帧从 CGPath
开始使用 CGPathGetBoundingBox(path)
. 所以它将是矩形或方形 . 现在我想将渐变颜色设置为图层,但我的路径不是矩形或方形,因此它不会在整个 CGPath
中均匀地传播渐变颜色 . 有没有办法将渐变颜色设置为CGPath或如何设置渐变颜色与角度?
请参考截图了解情况 . 这里白色表示 CGPath
的帧和绿色,即我们绘制的 CGPath
. 在 CGPath
的底部,您可以看到在 CGPath
中不均匀分布的白色渐变颜色 .
1 回答
线性渐变的起点和终点以相对于图层整体大小的点指定,左上角为(0,0),右下角为(1,1) .
因此,要以一定角度制作线性渐变,您只需要适当地设置起点和终点 . 例如,如果使用(0,0)和(1,1)作为起点和终点,则渐变将从左上角到右下角以45度角运行 .
因此,根据您的需要确定具体的起点和终点只是三角函数的问题 .