UIBezierPath 简单使用
来源:互联网 发布:游戏引擎 知乎 编辑:程序博客网 时间:2024/06/14 13:02
UIBezierPath的好处显而易见。 * 首先它是`OC`语言的,相对于c语言的Core Graphics来说更为平易近人。* 其次它能够使用`ARC`,如果我们直接使用CGPathRef的话,还要自己负责在合适的时候释放。UIBezierPath的使用相当简单,分为三步: * 创建path* 添加路径到path* 将path绘制出来例如我们来画条线:```objc // 创建path UIBezierPath *path = [UIBezierPath bezierPath]; // 添加路径[1条点(100,100)到点(200,100)的线段]到path [path moveToPoint:CGPointMake(100 , 100)]; [path addLineToPoint:CGPointMake(200, 100)]; // 将path绘制出来 [path stroke];```同样的我们也可以画一个圆```objc UIBezierPath *path = [UIBezierPath bezierPath]; [path addArcWithCenter:self.center radius:100.0 startAngle:0.0 endAngle:180.0 clockwise:YES]; [path stroke];```除了画线、画圆之外,我们还可以画其他各种图形。具体的方法你都可以在UIBezierPath的头文件里面找到,而使用过程和Core Graphics基本一致。其中有一个地方是需要我们注意的。就是颜色的设置。UIBezierPath颜色的设置并没有包含在自己类中,而是通过UIColor直接设置的。 例:```objc // 设置描边色 [[UIColor blueColor] setStroke]; // 设置填充色 [[UIColor redColor] setFill];```看上去是UIColor的方法,其实也是对于CGContextRef的渲染,最终还是作用到CGConextRef上的 而UIBezierPath其实也就是对CGPathRef的封装所以UIBezierPath通过UIColor的方法来设置颜色也就不奇怪了。因为UIColor和UIBezierPath最终还是通过Core Graphics的方法来绘图的,只不过苹果又封装了一层OC。最后结合上面那个画圆的例子,把颜色添加进去,再来看下效果。``` //创建path UIBezierPath *path = [UIBezierPath bezierPath]; // 添加圆到path [path addArcWithCenter:self.center radius:100.0 startAngle:0.0 endAngle:180.0 clockwise:YES]; // 设置描边宽度(为了让描边看上去更清楚) [path setLineWidth:5.0]; //设置颜色(颜色设置也可以放在最上面,只要在绘制前都可以) [[UIColor blueColor] setStroke]; [[UIColor redColor] setFill]; // 描边和填充 [path stroke]; [path fill];```
0 0
- UIBezierPath 简单使用
- UIBezierPath + CAShapeLayer的简单使用
- iOS 简单的使用UIBezierPath绘制
- iOS 简单的贝塞尔(UIBezierPath)曲线使用
- iOS 简单的使用UIBezierPath绘制
- 使用 UIBezierPath 进行简单的图形绘制
- UIBezierPath 使用
- UIBezierPath 使用
- iOS画图-UIBezierPath和CAShapeLayer的简单使用
- UIBezierPath 简单介绍
- UIBezierPath简单介绍
- UIBezierPath 的使用介绍
- UIBezierPath 的使用介绍
- UIBezierPath 的使用介绍
- UIBezierPath 的使用介绍
- 使用UIBezierPath绘制图形
- UIBezierPath 的使用介绍
- UIBezierPath 的使用介绍
- window环境下解决gvim文字乱码问题
- 转:android:ellipsize实现跑马灯效果总结
- UVALive - 3902 Network 无根树转为有跟树
- matlab调用C语言
- C语言中结构体定义的方式
- UIBezierPath 简单使用
- hdu2955---Robberies(概率做01背包)
- 【主机规划与磁盘分区】Linux与硬件的搭配
- 天平(Not so Mobile)
- POJ-2478(欧拉函数)
- Climbing Stairs
- Hashing( 哈希查找)
- Git技巧之解决git merge的合并冲突(非树冲突)
- linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结