核心图形绘制同心圆并填补它们之间的空白


不见你
2025-05-18 05:58:40 (6天前)
  1. 我需要绘制2个圆圈并用黄色填充内外圈之间的区域,即不在交叉点的区域。我如何使用核心图形?我试过这个但是......

2 条回复
  1. 0# 浮华丶 | 2019-08-31 10-32



    您可以使用以下代码:




    1. let path = CGMutablePath()
      let radius = min(rect.width/2, rect.height/2)

    2. let center = CGPoint(x: rect.width/2, y: rect.height/2)
    3. path.addEllipse(in: CGRect(x: center.x - radius, y: center.y - radius, width: 2*radius, height: 2*radius))
    4. let path2 = CGMutablePath()
    5. path2.addEllipse(in: CGRect(x: center.x - radius/2, y: center.y - radius/2, width: radius, height: radius))
    6. path.addPath(path2)
      context.addPath(path)

    7. context.drawPath(using: .eoFill)
    8. //inner part
      let path3 = CGMutablePath()
      path3.addEllipse(in: CGRect(x: center.x - radius/2, y: center.y - radius/2, width: radius, height: radius))
      context.addPath(path3)
      context.setFillColor(UIColor.green.cgColor)
      context.fillPath()

    9. </code>

登录 后才能参与评论