パスの描写には path 要素が使用されます。d 属性にコマンドと描写される座標を x,y といった形で記述します。d 属性のコマンドは、M が始点の座標、z がパスを閉じるという意味になります。例えば、「M50,50」なら 始点の座標のx軸が50、y軸が50といった形です。
各コマンドを大文字で記入すると絶対値、小文字で記入すると相対値での指定になります。
始点から終点までを描写するコマンドは、L が直線、H が水平線、V が垂直線、A が曲線です。その他のコマンドはこちらのページ path 要素で使用できるコマンド にまとめました。
直線を path で描く
path 要素で直線を描くには、Mコマンドで始点の座標、Lコマンドで移動先の座標、Zコマンドで終点の座標を記述します。
<svg width="400" height="100">
<path d="M50,50 L450,50 Z" fill="none" stroke="#666" stroke-width="10" />
</svg>
ブラウザでの表示
Hコマンドでも直線を描くことができます。Hコマンドは水平線を描くコマンドです。Mコマンドで始点を記入し、Hコマンドで移動先のx軸の座標を記入します。
<svg width="400" height="100">
<path d="M50,50 H450 Z" fill="none" stroke="#666" stroke-width="10" />
</svg>
ブラウザでの表示
四角形を path で描く
path 要素で四角形を描くには、Mコマンドで始点を記入し、Hコマンドで水辺の直線を描き、垂直の直線をVコマンドで描きます。Vコマンドは 垂直線を描くコマンドで、移動先のy軸のみの指定で描く事ができます。
<svg width="300" height="300">
<path d="M50,50 H250 V250 H50 V50 Z" fill="#1FCEB4" stroke="#666" stroke-width="10" />
</svg>
ブラウザでの表示
三角形を path で描く
path 要素で三角形を描くには、Hコマンドで水辺の直線を描き、斜めの直線はLコマンドで描きます。
<svg width="350" height="350">
<path d="M150,70 L280,320 H280,20 L150,70 Z" fill="#F47197" stroke="#666" stroke-width="5" />
</svg>
ブラウザでの表示
曲線を path で描く
曲線を path で描くには、Aコマンドを使用します。Aコマンドでは、rx,ry で水平と垂直の方向の半径、x-axis-rotation で曲線の傾きの度数、large-arc-flag で円の選択(0 が短い方、1 が長い方)、sweep-flag で円の選択(0 が反時計回り、1 が時計回り)、x,y 移動先の座標 を指定できます。
<svg width="350" height="350">
<path d="M50,250 L50,50 A50,50 0 0,1 50,250 z" fill="none" stroke="#666" stroke-width="1" />
</svg>
ブラウザでの表示
円を path で描く
曲線を path で描いたように半円を描き、そこからもう一つ半円を作って正円にします。
<svg width="300" height="300">
<path d="M150,50 A50,50 0 0,1 150,250 A50,50 0 0,1 150,50 z" fill="#8BD131" />
</svg>
ブラウザでの表示
path で2次ペジェ曲線を描く
path で2次ペジェ曲線を描くには Q コマンドを使用します。Q コマンドには X1,y1 で制御先の座標、x,y で移動先の座標を指定します。2番目以降の制御点では T コマンドを使用することができ、制御点の指定のみで曲線を描く事ができます。
<svg width="600" height="220">
<path d="M50,150 Q50,50 250,150 Q250,250 450,150 T550 150" fill="#F66F96" />
</svg>
ブラウザでの表示
path で3次ペジェ曲線を描く
path で3次ペジェ曲線を描くには C コマンドを使用します。C コマンドは X1,y1 で1つめ制御先の座標、 X2,y2 で2つめ制御先の座標、x,y で移動先の座標を指定します。3番目以降の制御点では S コマンドを使用することができ、制御点の指定のみで曲線を描く事ができます。
<svg width="600" height="220">
<path d="M50,100 C50,0 250,250 350,150 S450,50 470,100" fill="#89D319" />
</svg>
ブラウザでの表示