iOS 图形绘制(二)-UIBezierPath
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 图形绘制(二)-UIBezierPath相关的知识,希望对你有一定的参考价值。
参考技术A UIBezierPath 可以创建基于矢量的路径,例如椭圆或者矩形,或者有多个直线和曲线段组成的形状。使用 UIBezierPath ,你只能在当前上下文中绘图,所以如果你当前处于 UIGraphicsBeginImageContextWithOptions 函数或 drawRect: 方法中,你就可以直接使用UIKit提供的方法进行绘图。如果你持有一个 context: 参数,那么使用UIKit提供的方法之前,必须将该上下文参数转化为当前上下文。幸运的是,调用 UIGraphicsPushContext 函数可以方便的将 context: 参数转化为当前上下文,记住最后别忘了调用 UIGraphicsPopContext 函数恢复上下文环境。
简言之:我们一般使用 UIBezierPath 都是在重写的 drawRecrt: 方法这种情形。其绘图的步骤是这样的:
1.重写 drawRect: 方法。但不需要我们自己获取当前上下文 context ;
2.创建相应图形的 UIBezierPath 对象,并设置一些修饰属性;
3.渲染,完成绘制。
绘制矩形最简单的办法是使用 UIRectFrame 和 UIRectFill
通过使用 UIBezierPath 可以自定义绘制线条的粗细,是否圆角等。
多边形是一些简单的形状,这些形状是由一些直线线条组成,我们可以用 moveToPoint: 和 addLineToPoint: 方法去构建。 moveToPoint: 设置我们想要创建形状的起点。从这点开始,我们可以用方法 addLineToPoint: 去创建一个形状的线段。
我们可以连续的创建 line,每一个 line 的起点都是先前的终点,终点就是指定的点。
closePath 可以在最后一个点和第一个点之间画一条线段。
想画弧线组成的不规则形状,我们需要使用中心点、弧度和半径,如下图。弧度使用顺时针脚底,0弧度指向右边,pi/2指向下方,pi指向左边,-pi/2指向上方。然后使用 bezierPathWithArcCenter: radius: startAngle endAngle: clockwise: 方法来绘制。
以上是关于iOS 图形绘制(二)-UIBezierPath的主要内容,如果未能解决你的问题,请参考以下文章