4.8-添加虚线 发表于 2017-02-08 UIKit框架使得可以轻松地将虚线添加到Bezier路径。例如,您可以添加一个简单的重复模式,如下所示: 12CGFloat dashes[] = {6, 2};[path setLineDash:dashes count:2 phase:0]; 数组以点为单位指定绘制描边时使用 ... 阅读全文 »
4.7-从字符串创建贝塞尔路径 发表于 2017-02-07 Core Text简化了将字符串转换为Bezier路径的过程。代码清单4-7提供了一个简单的转换函数。它将其字符串转换为单个Core Text字形,表示为单个CGPath项。该函数将每个字母路径添加到生成的Bezier路径中,在每个字母后面按该字母的大小进行偏移。 添加所有字母后,路径将垂直镜像。这 ... 阅读全文 »
4.6-拟合贝塞尔路径 发表于 2017-02-06 清单4-6解决了使用Bezier路径的一个最重要的任务:在任意点创建路径,缩放,并将其绘制到特定的矩形中。拟合基于矢量的工艺(贝塞尔路径)确保您可以可靠地将项目放置到您预期的尺寸和目的地的绘图中。 清单4-6使用了你在本书中已经使用过的几次相同的拟合方法。不同之处在于此版本使用sacle和拟合矩形将 ... 阅读全文 »
4.5-变换路径 发表于 2017-02-05 Bezier路径的applyTransform:方法通过应用作为方法参数传递的仿射变换矩阵来转换所有路径的点和控制点。此更改发生在适当位置,并将更新调用路径。例如,在应用以下缩放变换后,整个myPath路径缩小: 1[myPath applyTransform:CGAffineTransformMa ... 阅读全文 »
4.4-检索路径的Bounds and Centers 发表于 2017-02-04 UIBezierPath类包括bounds属性。它返回一个完全包含路径中所有点的矩形,包括控制点。如果将此属性想象成为路径的frame,但是原点几乎从不在零的位置,相反,它表示最顶部和最左边的点,或者用于构建路径的控制点。 Bounds是有用的,因为它们快速计算并为许多绘图任务提供足够好的近似值。图 ... 阅读全文 »
4.3-构建路径 发表于 2017-02-03 当系统提供的路径(如矩形和椭圆形)不足以满足您的需要时,您可以迭代地构建路径。可以通过逐点布置项目,随时添加曲线和直线来创建路径。 每个贝塞尔路径可以包括各种几何元素,包括以下: 由moveToPoint:建立的定位请求。 由addLineToPoint:添加直线。 由addCurveToPoin ... 阅读全文 »
4.2-类的便捷方法 发表于 2017-02-02 UIBezierPath的类方法构建矩形,椭圆,圆角矩形和弧,提供对公共路径样式元素的单一调用访问: Rectangles - bezierPathWithRect:用于界面中的任何类型的视图填充或矩形元素。您可以使用此方法创建任何类型的矩形。 Ovalsandcircles - bezierPa ... 阅读全文 »
4.1-Why Bezier 发表于 2017-02-01 当构建按钮或斜面,阴影或模式时,Bezier路径提供了一个强大并且灵活的解决方案。 看图4-1,两个截图都包括主要来自Bezier路径绘制的元素。 图4-1尽管这两个屏幕截图之间存在明显的视觉差异,但UIBezierPath类主要负责了绘制这两个屏幕截图中的内容。 顶部屏幕截图来自音频采样应用程序 ... 阅读全文 »
(第4章)路径的基础知识 发表于 2017-02-01 Bezier路径是iOS绘图中的一些最重要的工具,使您能够创建和绘制形状,建立剪切路径,定义动画路径等。无论是构建自定义视图元素,添加Photoshop类似的特殊效果,还是执行普通任务,如绘制线条和圆,UIBezierPath类提供的坚实基础将使您的开发更简单,更强大。 4.1-Why Bez ... 阅读全文 »
(第3章)小结 发表于 2017-01-31 本章探讨了在将图像绘制到iOS上下文时遇到的几个常见挑战。您阅读了有关基本图像生成,字节和图像之间的转换,添加inset调整和执行PDF绘图的知识。在你阅读下一章之前,这里有一些关于这一章的最后的想法: Alignment insets是你的朋友。它们使您能够构建复杂的视觉呈现,同时简化与Auto ... 阅读全文 »