首页 文章

带角度的CAGradientLayer

提问于
浏览
3

我正在绘制 CGPath ,它不是矩形或正方形,并将 CGPath 添加到 CAShapeLayer . 这个 CAShapeLayer 的帧从 CGPath 开始使用 CGPathGetBoundingBox(path) . 所以它将是矩形或方形 . 现在我想将渐变颜色设置为图层,但我的路径不是矩形或方形,因此它不会在整个 CGPath 中均匀地传播渐变颜色 . 有没有办法将渐变颜色设置为CGPath或如何设置渐变颜色与角度?

请参考截图了解情况 . 这里白色表示 CGPath 的帧和绿色,即我们绘制的 CGPath . 在 CGPath 的底部,您可以看到在 CGPath 中不均匀分布的白色渐变颜色 .

enter image description here

enter image description here

1 回答

  • 13

    线性渐变的起点和终点以相对于图层整体大小的点指定,左上角为(0,0),右下角为(1,1) .

    因此,要以一定角度制作线性渐变,您只需要适当地设置起点和终点 . 例如,如果使用(0,0)和(1,1)作为起点和终点,则渐变将从左上角到右下角以45度角运行 .

    因此,根据您的需要确定具体的起点和终点只是三角函数的问题 .

相关问题