核心图形第2部分

上一篇介绍的是线条与几何图形,但很多时候光是用几何图形是没办法做到想要的效果。首先要介绍的是渐层色,渐层色非常非常的常见,Core Graphics有中有CGGradient可以定义渐层色的颜色与比例区块:

那如何在这个色块里面增加另一个拥有渐层色的图形?现在画布是全部的范围,所以要先裁切出你需要的图形,现在addClip这个方法裁切区块:

在处理完第二个色块之后,看起来都没什么问题,但是如果要添加新的色块呢?我们尝试看加一个同木板的圆,然后把圆心位置移动:

会发现圆被裁掉了,因为现在画布就只有中间圆形的大小,所以可以编辑的区块链只有在这个圆的范围内,那如果编辑区域要超过这个被裁切过的画布,就要恢复到裁切之前,那要如何回到哪裁切之前,在裁切之前,我们使用saveGState这个方法把裁切之前的画布存起来,在用restoreGState把存起来的画布调用出来:

以上是Core Graphic比较基础的用法,当然还有很多方法,但在这边就不多做介绍。如果是太复杂的图就需要很大量的数学运算,看到这边应该都会觉得画图就是在算数学,所以如果不是图表之类需要运算的图,把找图片套入元件就好,不要把自己搞到疯掉。如果有什么想知道的方法可以留言让大家一起讨论!

Nibelheim11 / CoreGraphicsDemo
通过在GitHub上创建一个帐户为CoreGraphicsDemo开发做出贡献。 github.com