SVG <path>元素C指令三次貝塞爾曲線
關於<path>元素的基本用法可以參閱SVG <path>路徑元素一章節。
二次貝塞爾曲線可以參閱SVG <path>元素Q指令二次貝塞爾曲線一章節。
二次貝塞爾曲線只能夠在一側彎曲,因為只有一個控制點。
而三次貝塞爾曲線則有兩個控制點,可以繪製出兩側都有彎曲的曲線。
語法結構如下:
[XML] 純文字檢視 複製程式碼C cp1x cp1y , cp2x cp2y , x y
引數解析如下:
(1).cp1x cp1y規定第一個控制點的座標。
(2).cp2x cp2y規定第二個控制點的座標。
(3). x y規定賽貝爾曲線的結束點座標。
看一段程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> svg { border: 1px solid red; margin: 100px; width: 300px; height: 300px; } </style> </head> <body> <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <path d="M20,20 C20,100 200,100 200,20" stroke="black" fill="none" stroke-width="1"/> </svg> </body> </html>
上面的程式碼可以用下面的圖示表示:
特別說明:黑色的曲線是真正繪製出的貝塞爾曲線,黃色的只是輔助線。
可以看到開始點與控制點1連成的線段與曲線是相切的,結束點與控制點2連成的線段也是相切的。
不是說bezierCurveTo()可以繪製出兩側都有完全的曲線嗎,為什麼上面只有一個彎曲。
這是因為控制點都在開始點與結束點連線的一側,如果控制1和控制點2一邊一個,那麼就會出現兩個彎曲。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> svg { border: 1px solid red; margin: 100px; width: 300px; height: 300px; } </style> </head> <body> <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <path d="M20,20 C20,100 200,20 200,50" stroke="black" fill="none" stroke-width="1"/> </svg> </body> </html>
相關文章
- SVG <path> C 指令 三次貝塞爾曲線SVG
- SVG <path>元素Q指令二次貝塞爾曲線SVG
- SVG <path> Q指令 二次貝塞爾曲線SVG
- canvas bezierCurveTo() 三次貝塞爾曲線Canvas
- Path從懵逼到精通(2)——貝塞爾曲線
- SVG <path> 元素A指令繪製弧線SVG
- Android 貝塞爾曲線Android
- 貝塞爾曲線基礎部分
- UIBezierPath貝塞爾曲線UI
- Android繪圖最終篇之大戰貝塞爾三次曲線Android繪圖
- 貝塞爾曲線理解與應用
- iOS UIBezierPath 貝塞爾曲線iOSUI
- 如何理解並應用貝塞爾曲線
- Android 自定義貝塞爾曲線工具Android
- 貝塞爾曲線開發的藝術
- canvas實現高階貝塞爾曲線Canvas
- iOS UIBezierPath貝塞爾曲線常用方法iOSUI
- 使用貝塞爾曲線裁圓優化tableView優化View
- js控制貝塞爾曲線程式碼例項JS線程
- 安卓自定義 View 進階:貝塞爾曲線安卓View
- 貝塞爾曲線(Bezier curve)實現節點連線
- 用canvas繪製一個曲線動畫——深入理解貝塞爾曲線Canvas動畫
- 自定義View合輯(6)-波浪(貝塞爾曲線)View
- canvas 二次貝塞爾曲線quadraticCurveTo()Canvas
- webGL入門-四階貝塞爾曲線繪製Web
- html5中canvas繪製貝塞爾曲線HTMLCanvas
- iOS開發之畫圖板(貝塞爾曲線)iOS
- 【Flutter高階玩法】 貝塞爾曲線的表象認知Flutter
- Flutter 自定義元件之貝塞爾曲線畫波浪球Flutter元件
- Android-貝塞爾曲線實現水波紋動畫Android動畫
- canvas基礎[二]教你編寫貝塞爾曲線工具Canvas
- html5中canvas貝塞爾曲線繪製菊花HTMLCanvas
- bezierMaker.js——N階貝塞爾曲線生成器JS
- SVG <path> 路徑元素SVG
- SVG (一) 圖形, 路徑, 變換總結; 以及橢圓弧線, 貝塞爾曲線的詳細解釋SVG
- 自定義View合輯(8)-跳躍的小球(貝塞爾曲線)View
- 包教包會-貝塞爾曲線的繪製原理與應用
- 簡易製作貝塞爾曲線動畫(JS+css3+canvas)動畫JSCSSS3Canvas