スキップしてメイン コンテンツに移動

些細な日常

インラインSVGのpathタグで描いた線の両端を繋ぎ合わせるにはZコマンドを使う

pathは座標からどんな線でも数多く描けるインラインSVGで最も自由度の高いタグだ。

しかし使ってみると一本の線の開始点と終了点の両端がスムーズに繋がらない場合があって参った。

<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="auto" viewBox="0 0 320 240">
<path d="M50 110 L160 20, 270 110 h-220 M80 110 v110 h160 v-110 M240 140 h-50 v80 M95 125 h65 v40 h-65 v-40" stroke-width="4" stroke="#4682b4" fill="none"/>
<circle cx="50" cy="110" r="10" stroke="#ff6347" stroke-width="2" fill="none"/>
<circle cx="95" cy="125" r="10" stroke="#ff6347" stroke-width="2" fill="none"/>
</svg>

構わないといえば構わないし、芸術的に味のある仕上がりかも知れないけど、しかしスムーズに繋ぎたくても繋げないのでは表現力が下がってしまう。

種々と試していたら開始点と終了点を繋ぎ合わせるZコマンドを使うと大丈夫だと分かった。

Zコマンドでpathタグの線の両端を繋ぎ合わせる

<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="auto" viewBox="0 0 320 240">
<path d="M50 110 L160 20, 270 110 Z M80 110 v110 h160 v-110 M240 140 h-50 v80 M95 125 h65 v40 h-65 Z" stroke-width="4" stroke="#4682b4" fill="none"/>
<circle cx="50" cy="110" r="10" stroke="#ff6347" stroke-width="2" fill="none"/>
<circle cx="95" cy="125" r="10" stroke="#ff6347" stroke-width="2" fill="none"/>
</svg>

直線だと終了点をZコマンドと置き換えて省略できて曲線だと終了点の後にZコマンドを記載するとスムーズに繋がるんだ。

Zコマンドはpathタグで描画される一本の線(複数では開始点のMコマンド毎に区別される)の開始点と終了点を結び付ける。それぞれが遠く離れているところで使うと直線が新しく引かれて、一本、増える。

<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="auto" viewBox="0 0 320 240">
<g transform="rotate(20 160 120)">
<path d="M110 50 Q125 130,160 220 Q195 130, 210 50 M210 50 Q160 90, 110 50 Q160 -10, 210 50 Z" stroke-width="4" stroke="#4682b4" fill="none" stroke-linejoin="bevel"/>
<circle cx="210" cy="50" r="10" stroke="#ff6347" stroke-width="2" fill="none"/>
</g>
</svg>

両端を繋ぎ合わせるのが直線の場合は新しく引かれれば終了点を記載する代わりになるけど、ところが曲線の場合は終了点を省略できないからもう既に繋ぎ合わさった両端の処理の仕方だけがスムーズに変わるようになる。

いい換えると一本の線の両端の繋ぎ目が頂点として扱われるので、インラインSVGのpathタグの繋ぎ目のデザインもZコマンドを使うかどうかによって二種類が表現できるわけだ。

線のデザインの主な属性からZコマンドを使わないと両端のstroke-linecapの値、Zコマンドを使うと頂点のstroke-linejoinの値を(大きな角度でも鋭角を保つにはstroke-miterlimitの値も)取ってデザインが付けられる。

  • ブログの投稿者: 結城永人
  • タイトル: インラインSVGのpathタグで描いた線の両端を繋ぎ合わせるにはZコマンドを使う
  • 最終更新: 

コメント

些細な日常の人気記事

白琉球の切なさの詩的で命の尊さに他ならない思い遣りの心に救われる雨上がり

イメージ

白琉球の花が咲いていた。雨が多くて満開だったけれどもあっさり萎れかけているようだ。琉球躑躅ともいわれる躑躅の一種で、他の種類でも似ていて雨で直ぐに変色する花が多い。しかし白だと本当に目立つし、雨上がりの白琉球には切なさを受け取らずにいない。花柄も大きいから、殊の外、衝撃的で、...

若林志穂が明かした薬物による監禁・暴力・強姦・脅迫のNが長渕剛ならば謝罪しないのは詰まらない

イメージ

元俳優の 若林志穂 が1990年代に芸能界で被った不幸についてXで明らかにした。オリジナルの投稿は本人のアカウント削除で消えたけれどもアーカイブがどこかに残っていて公開された中から確認することができる。 元女優の若林志穂さん薬物レ◯プ被害告発 人気大物歌手N(◯◯ ◯)氏から...

ブログのアクセスアップのコツは記事を増やして増やして増やし捲るだけで良い

イメージ

日毎に記事が増えて行き、ちゃんと更新されているブログは訪問者にも検索エンジンにも好まれる。だからアクセスアップのコツはブログを更新しながら記事を増やす以外には考えられない。 するとブロガーに問われるのは根気強さなので 優れた記事が少しでもあれば放置しても人気爆発と思わ...

動物愛護のテロリストの小泉毅の元厚生事務次官宅連続襲撃事件とメッセージ

イメージ

2008年に起きた 元厚生事務次官宅連続襲撃事件 は元厚生事務次官の夫婦二人が殺されて翌日に別の元厚生事務次官の妻一人が瀕死の重視を負ったもので、当時、国の関係者を狙ったテロとして大きく報道された。 元厚生事務次官宅連続襲撃事件が起きた世の中 元厚生事務次官ら連続殺傷事件...

初夏の光の花々:山躑躅(朱色/赤)と鈴蘭と日陰躑躅と淀川躑躅

イメージ

ゴールデンウィークに写真撮影に出かけた。快晴で初夏の光を思う存分と味わえたようだ。 前回も快晴だった ものの今回は上回っていて写真の仕上がりはさらに明るい。嬉しいし、目覚ましい。 α5100 と Touit 2.8/50M で、結構、多めに撮ったけれども失敗作もいつになく少なかっ...