本文價值與收獲
看完本文您將掌握的技能
- 全面了解Path的基本原理
- 掌握Path的5大繪圖元組
- move
- addLine
- addQuadCurve
- addCurve
- colseSubpath
- 掌握addArc的使用
- 將Path組件化,方便以后使用
在SwiftUI中,Path是對某種形狀的逐步描述。它可能是一個圓圈,一個正方形,一個情人心,一個單詞頻率直方圖或一張笑臉。它不包含任何信息,例如像素顏色,線寬或漸變。Path主要用于繪圖,我們可以單獨用一種顏色填充,或用stroke去勾勒輪廓。
這次您將看到構(gòu)成路徑的原因。下篇文章文章將給您演示用path來繪制一些很酷的東西。
Path是對形狀的描述,因此我們需要對其進行渲染,以便有人可以實際看到它。每個Core Graphics上下文都將盡其所能去更完美的渲染Path。當(dāng)繪制吧bitmap時,所有曲線和對角線都將消除鋸齒。這意味著即使陰影是由正方形像素構(gòu)成的,也要使用陰影來欺騙眼睛,讓其認為形狀是平滑的。使用打印機繪圖時,會發(fā)生相同的事情,但像素極小。繪制為PDF時,路徑大多只是放到原處,因為Core Graphics繪制模型與PDF繪制模型基本相同。 PDF引擎(例如Preview或Adobe Acrobat)可以呈現(xiàn)這些PDF路徑,而不是Core Graphics引擎。
Path Elements
路徑是由少量基本形狀(curves,arcs和line)連接的點序列,稱為元素。您可以想象每個元素都是對專門拿著鉛筆的機器人的命令。您告訴機器人抬起鉛筆并移動到笛卡爾平面中的某個點,但不要留下任何標(biāo)記。您可以告訴機器人放下鉛筆,然后從當(dāng)前點畫點到新點。有五個基本路徑元素:
move
將當(dāng)前點移動到新位置而不繪制任何內(nèi)容。機器人抬起鉛筆并移動手臂。addLine
從當(dāng)前點到新點添加一條線。機器人放下了鉛筆并畫了一條直線。
path.move(to: 起始點)
path.addLine(to: 下一個點)
path.addLine(to: 終止點)

- addQuadCurve
使用單個控制點從當(dāng)前點到新點添加二次曲線。機器人將鉛筆放下并繪制一條曲線。線不是直接畫到控制點上,而是控制點會影響形狀??刂泣c離曲線越遠,形狀就越極端。