檢視 SVG/path 的原始碼
←
SVG/path
跳轉到:
導覽
、
搜尋
根據以下的原因,您並無權限去做編輯這個頁面:
您剛才的請求只有這個使用者組的使用者才能使用:
使用者
你可以檢視並複製本頁面的原始碼。
*[http://www.oxxostudio.tw/articles/201406/svg-04-path-1.html A以外的語法說明] *[http://www.oxxostudio.tw/articles/201406/svg-05-path-2.html A的語法說明] *點與點之間、同點的 x , y 座標之間,用空白間開或用,間開兩者是等價的。 *參數大寫代表絕對座標,小寫代表與前一個座標的相對座標 <table class=nicetable> <tr> <th style='width:12%;background:#ddd;' colspan=2>指令</th> <th style='width:7%;background:#ddd;'>參數</th> <th style='width:33%;background:#ddd;'>示例</th> <th style='width:48%;background:#ddd;'>指令說明</th> </tr> <tr> <td colspan=2>M(move to)</td> <td>x y</td> <td style='font-size:90%'><path d='M0 0' style='stroke:black'/></td> <td>起始點的 x , y 座標</td> </tr> <tr> <th style='width:2%;' rowspan=3>線</th> <td>H(horizontal line to)</td> <td>x</td> <td style='font-size:90%'><path d='M0 0 H50' style='stroke:black'/></td> <td>從目前點的座標畫水平直線到指定的 x 軸座標</td> </tr> <tr> <td>V(vertical line to)</td> <td>y</td> <td style='font-size:90%'><path d='M0 0 V50' style='stroke:black'/></td> <td>從目前點的座標畫垂直線到指定的 y 軸座標</td> </tr> <tr> <td>L(line to)</td> <td>x y</td> <td style='font-size:90%'><path d='M0 0 L50 50' style='stroke:black'/></td> <td>從目前點的座標畫直線到指定點的 x , y 座標</td> </tr> <tr> <th style='width:2%;' rowspan=3>二<br/>次</th> <td>Q(quadratic Bézier curve)</td> <td colspan=2>x1 y1 x y<br/><img src='http://jendo.org/wiki1231/images/a/a8/SvgPathQ.png' width='200px' height='*'/><br/><span style='font-size:90%'><path d='M0,0 Q50,50 100,0' style='stroke:black'/></span></td> <td>從目前點的座標畫條二次貝茲曲線到指定點的 x, y 座標:其中 x1, y1 為控制點</td> </tr> <tr> <td>T(smooth quadratic Bézier curve)</td> <td colspan=2>x y<br/><img src='http://jendo.org/wiki1231/images/4/4a/SvgPathT.png' width='300px' height='*'/><br/><span style='font-size:90%'><path d='M0,0 Q50,50 100,0 T200,0' style='stroke:black'/></span></td> <td>前方要接上 Q 才能畫,從目前點以前一個 Q 的控制點之鏡射點為控制點,畫二次貝茲曲線到指定點(x,y)。</td> </tr> <tr> <td>A(Arc)</td> <td colspan=2>rx ry x-axis-rotation large-arc-flag sweep-flag x y</td> <td>從目前點的座標畫個橢圓形到指定點的 x, y 座標:其中 rx, ry 為橢圓形的 x 軸及 y 軸的半徑,x-axis-rotation 是弧線與 x 軸的旋轉角度,large-arc-flag 則設定 1 最大角度的弧線或是 0 最小角度的弧線,sweep-flag 設定方向為 1 順時針方向或 0 逆時針方向</td> </tr> <tr> <th style='width:2%;' rowspan=2>三<br/>次</th> <td>C(curve)</td> <td colspan=2>x1 y1 x2 y2 x y<br/><img src='http://jendo.org/wiki1231/images/0/08/SvgPathC.png' width='200px' height='*'/><br/><span style='font-size:90%'><path d='M0,0 C40,40 60,40 100,0' style='stroke:black'/></span></td> <td>從目前點的座標畫條三次貝茲曲線到指定點的 x, y 座標:其中 x1, y1 及 x2, y2 為控制點</td> </tr> <tr> <td>S(smooth curve)</td> <td colspan=2>x2 y2 x y<br/><img src='http://jendo.org/wiki1231/images/1/1b/SvgPathS.png' width='300px' height='*'/><br/><span style='font-size:90%'><path d='M0,0 C40,40 60,40 100,0 S150,-40 200,0' style='stroke:black'/></span></td> <td>在目前點之前必須有一個貝茲控制點,在目前點之後會以同樣的斜率鏡射一個貝茲控制點,再由參數(x2,y2)補上第二個貝茲控制點,再從目前點經兩個貝茲控制點畫貝茲曲線到指定點(x,y)。</td> </tr> <tr> <td colspan=2>Z(closepath)</td> <td colspan=2><img src='http://jendo.org/wiki1231/images/0/09/SvgPathTZ.png' width='300px' height='*'/><br/><span style='font-size:86%'><path d='M0,0 Q50,50 100,0 T200,0 Z' style='stroke:black'/></span></td> <td>關閉路徑,將目前點的座標與第一個點的座標連接起來</td> </tr> </table> ====(一)一次圖形(相對表示)==== #以 m 或 l 連續處理皆可 #每一節放一個「下個點」, <img src='http://jendo.org/~thisNasAdmin/pathL.svg' width=50% height=50% /> <pre style='font-size:small;'><path d='m0,51 50,50 50,-50 50,-50 50,50 50,50 50,-50 50,-50 50,50 50,50 50,-50 50,-50 50,50' style='stroke:black;fill:none;'/></pre> <pre style='font-size:small;'><path d='m0,51 l 50,50 50,-50 50,-50 50,50 50,50 50,-50 50,-50 50,50 50,50 50,-50 50,-50 50,50' style='stroke:black;fill:none;'/></pre> ====(二)二次圖形(相對表示)==== #以 q 或 q,t 連續處理皆可 #q 每一小節放兩個點:「控制點 下個節點」,兩點同座標系,皆參考上個節點。 #q,t 的 t 每一小節放一個點:「下個節點」,控制點省略,省略的控制點為上一小節控制點對上個節點的鏡像點。 <img src='http://jendo.org/~thisNasAdmin/pathQ.svg' width=50% height=50% /> 以 q 表示 <pre style='font-size:small;'><path d='m0,51 q50,50 100,0 50,-50 100,0 50,50 100,0 50,-50 100,0 50,50 100,0 50,-50 100,0' style='stroke:black;fill:none;'/></pre> 以 q,t 表示 <pre style='font-size:small;'><path d='m0,51 q50,50 100,0 t100,0 100,0 100,0 100,0 100,0' style='stroke:black;fill:none;'/></pre> ====(三)三次圖形(相對表示)==== #以 c 或 c,s 連續處理皆可 #c 每一小節放三個點:「控制點1 控制點2 下個節點」,三點同座標系,皆參考上個點。 #c,s 的 s 每一小節放兩個點:「控制點2 下個節點」,控制點1省略,省略的控制點1為上一小節控制點2對上個節點的鏡像點。 =====例一===== <img src='http://jendo.org/~thisNasAdmin/pathCS.svg' width=50% height=50% /> 以 c 表示 <pre style='font-size:x-small;'><path d='m0,51 c40,40 60,40 100,0 40,-40 60,-40 100,0 40,40 60,40 100,0 40,-40 60,-40 100,0 40,40 60,40 100,0 40,-40 60,-40 100,0' style='stroke:black;fill:none;'/></pre> 以 c,s 表示 <pre style='font-size:89%;'><path d='m0,51 c40,40 60,40 100,0 s60,-40 100,0 60,40 100,0 60,-40 100,0 60,40 100,0 60,-40 100,0' style='stroke:black;fill:none;'/></pre> =====例二===== #以下心形由四段三次貝茲曲線組成,每段皆含三點:兩個控制點、一個下一節點。 ##AB 段以 P<sub>1</sub>,P<sub>2</sub> 為控制點, B 為下一節點,三個點座標參照 A 點。 ##BC 段以 Q<sub>1</sub>,Q<sub>2</sub> 為控制點, C 為下一節點,三個點座標參照 B 點。 Q<sub>2</sub> 和 C點重合。 ##CD 段以 R<sub>1</sub>,R<sub>2</sub> 為控制點, D 為下一節點,三個點座標參照 C 點。 R<sub>1</sub> 和 C點重合。 ##DA 段以 S<sub>1</sub>,S<sub>2</sub> 為控制點, A 為下一節點,三個點座標參照 D 點。 #P<sub>2</sub> 、 B 、Q<sub>1</sub> 三點共線,所以 AB 段才能和 BC 平滑銜接。 #R<sub>2</sub> 、 D 、S<sub>1</sub> 三點共線,所以 CD 段才能和 DA 平滑銜接。 #C 點和 Q<sub>2</sub> 、 R<sub>1</sub> 重合,所以 BC 段和 CD 段,兩節點間有一個控制點和節點重合。但並不是退回到二次貝茲曲線,只是近似二次貝茲曲線而已。 <img src='http://jendo.org/~thisNasAdmin/hart.svg'/><br/><br/> <img src='http://jendo.org/~thisNasAdmin/hart1.svg'/> <pre style='font-size:83%;'><path fill='#f00' d='m 12.7,38.5 c -21.3,-11.2 -14.3,-38.5 9.7,-38.5 30,0 51,38.5 51,38.5 0,0 -21,38.5 -51,38.5 -24,0 -31,-27.4 -9.7,-38.5 z'/></pre> 將紅心的尖部換成 q ,會使紅心尖部顯得略胖,但非常近似原來的紅心: <img src='http://jendo.org/~thisNasAdmin/hart2.svg'/><br/> <pre style='font-size:88%;;'><path fill='#f00' d='m 12.7,38.5 c -21.3,-11.2 -14.3,-38.5 9.7,-38.5 q 30,0 51,38.5 -21,38.5 -51,38.5 c -24,0 -31,-27.4 -9.7,-38.5 z'/></pre>
返回到
SVG/path
。
導航
個人工具
登入
名字空間
頁面
討論
變換
檢視
閱讀
檢視原始碼
檢視歷史
動作
搜尋
導覽
首頁
近期變動
隨機頁面
使用說明
工具箱
連入頁面
相關頁面修訂記錄
特殊頁面
頁面資訊