我正在尝试构建这个:
白色背景实际上是透明的。我知道如何将CGPath剪裁到一组区域,但这似乎是另一种方式,因为我需要从填充的CGPath中减去区域。
我想正确的方法是从CGPath中减去所有外圆,然后在我的CGPoints处绘制较小的圆,但我不确定如何执行前者。有人能指点我吗?
![enter image description here](https://istack.dev59.com/lnRkm.webp)
我想正确的方法是从CGPath中减去所有外圆,然后在我的CGPoints处绘制较小的圆,但我不确定如何执行前者。有人能指点我吗?
以下是我会做的:
1) 画出你的大致轮廓
2) 当你绘制时,使用CGContextSetBlendMode(context, kCGBlendModeClear)
来“清除上下文”。
3) 绘制更大的圆形
4) 使用CGContextSetBlendMode(context, kCGBlendModeNormal)
返回到正常绘制模式
5) 绘制你的小圆点。
你可以先创建一个透明的层,画出线条,然后使用清晰颜色绘制较大的透明圆圈,最后再画出较小的黑色圆圈。当你完成透明层后,它会将你想要的效果精确地合成到上下文中。