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路徑詳解(二),全面解析貝塞爾曲線SVG
- canvas bezierCurveTo() 三次貝塞爾曲線Canvas
- 貝塞爾曲線
- 貝塞爾曲線基礎部分
- SVG <path> 元素A指令繪製弧線SVG
- Android繪圖最終篇之大戰貝塞爾三次曲線Android繪圖
- 貝塞爾曲線理解與應用
- canvas 二次貝塞爾曲線quadraticCurveTo()Canvas
- 如何理解並應用貝塞爾曲線
- 貝塞爾曲線(Bezier curve)實現節點連線
- 自定義View合輯(6)-波浪(貝塞爾曲線)View
- webGL入門-四階貝塞爾曲線繪製Web
- 貝塞爾曲線原理、推導及Matlab實現Matlab
- VBA,Shapes.AddCurve SafeArrayOfPoints:=pts 畫貝塞爾曲線
- canvas基礎[二]教你編寫貝塞爾曲線工具Canvas
- 【Flutter高階玩法】 貝塞爾曲線的表象認知Flutter
- Flutter 自定義元件之貝塞爾曲線畫波浪球Flutter元件
- 一個貝塞爾曲線編輯工具(2d)
- Android-貝塞爾曲線實現水波紋動畫Android動畫
- Android日常學習:OpenGL 實踐之貝塞爾曲線繪製Android
- 自定義View合輯(8)-跳躍的小球(貝塞爾曲線)View
- 使用二階貝塞爾曲線實現新增購物車動畫動畫
- 白話經典貝塞爾曲線及其在 Android 中的應用Android
- 【乾貨滿滿】貝塞爾曲線(Bézier curve)——什麼神仙操作
- SVG <path> 路徑元素SVG
- Flutter 實戰 - 用貝塞爾曲線畫一個帶文字的波浪球 WidgetFlutter
- Flutter BottomAppBar 自定義路徑 + 貝塞爾曲線實現閒魚底部導航FlutterAPP
- 用貝塞爾曲線自己寫的一個電量顯示的控制元件控制元件
- 貝塞爾曲線的css實現——淘寶加入購物車基礎動畫CSS動畫
- Android教你一步一步從學習貝塞爾曲線到實現波浪進度條Android
- Android 窗簾(Curtain)效果四之賽貝爾曲線優化AndroidAI優化
- CSS transition animation的使用(內含貝賽爾曲線詳解)CSS
- 你知道嗎, CoreGraphics繪圖系統和Bezier貝塞爾曲線座標系的順時針方向是相反的!繪圖
- 【flutter高階玩法】貝塞爾實戰1 - 波浪Flutter
- 【SVG】SVG的奪命利器——pathSVG
- SVG <image>元素SVG
- SVG <switch>元素SVG
- SVG <tspan>元素SVG
- iOS動畫專題·UIView二維形變動畫與CAAnimation核心動畫(transform動畫,基礎,關鍵幀,組動畫,路徑動畫,貝塞爾曲線)iOS動畫UIViewORM