首页 理论教育 学习使用UIBezierPath类绘制和渲染路径

学习使用UIBezierPath类绘制和渲染路径

时间:2023-06-23 理论教育 版权反馈
【摘要】:UIBezierPath类可以让我们在View中绘制和渲染由直线和曲线组成的路径。我们可以单独设置几何特性和属性,并可以相互独立地更改它们。单个UBezierPath可以包含任意数量的打开或闭合路径,每个路径代表了一系列连接的曲线。stroke方法使用当前stroke颜色和UBezierPath实例的属性来描画路径的轮廓。除了使用UBezierPath实例绘制形状之外,我们还可以使用它来定义新的剪切区域。

学习使用UIBezierPath类绘制和渲染路径

为了简化画图的过程,UIKit对Core Graphics进行了二次封装,提供了UIBezierPath类。UIBezierPath类可以让我们在View中绘制和渲染由直线和曲线组成的路径。我们可以使用这个类,在其初始化的时候指定需要的绘制路径,路径可以是矩形、椭圆、圆弧等简单的图形,也可以是多种路径组合的多边形。

UIBezierPath实例将路径的几何特性与路径的属性在渲染期间组合在一起。我们可以单独设置几何特性和属性,并可以相互独立地更改它们。在按照我们希望的方式设置过实例之后,我们可以调用方法使其在当前上下文中绘制自己。由于创建、设置和渲染过程都是不同的步骤,因此可以在代码中轻松地重用UIBezierPath的实例。我们甚至可以使用同一个实例多次渲染相同的形状,也可以在连续的绘制调用之间更改渲染选项。

我们可以通过操纵路径的当前点来设置路径的几何特性。创建新的路径实例时,当前点是没有定义的,必须明确设置。如果在不绘制曲线的情况下移动当前点,可以使用move(to :)方法,其他方法都会在路径中添加曲线。添加新曲线的方法:始终假设从当前点开始,并以代码指定的某个新点结束;添加曲线后,新曲线的结束点将自动成为当前点。

单个UBezierPath可以包含任意数量的打开或闭合路径,每个路径代表了一系列连接的曲线。调用close()方法,会添加从当前点到路径中第一个点的直线来关闭路径。调用move(to :)方法,会结束当前路径(但不会闭合它)并设置下一个路径的起始点。UBezierPath实例的路径共享相同的绘图属性,如果修改会影响所有的路径;如果要绘制具有不同绘图属性的路径,必须将每个路径放在其自己的UIBezierPath实例中。(www.xing528.com)

设置UBezierPath的几何特性和属性后,使用stroke()和fill()方法在当前图形上下文中绘制路径。stroke方法使用当前stroke颜色和UBezierPath实例的属性来描画路径的轮廓。类似地,fill()方法使用当前fill颜色填充路径包围的区域。

除了使用UBezierPath实例绘制形状之外,我们还可以使用它来定义新的剪切区域。addClip()方法将路径实例表示的形状与图形上下文的当前剪切区域相交。在后续绘制期间,只有位于新交叉区域内的内容才会实际呈现给图形上下文。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈