1. 程式人生 > >在 svg 中繪製箭頭

在 svg 中繪製箭頭

在svg 中使用marker定義箭頭元素,該元素可以鑲嵌在defs元素中,實現箭頭元素的複用。該元素可使用以下通用屬性:

擁有以下專用屬性:

其中refx,refy 表示箭頭的相對起始座標,refx一般定義為0,refy定義為viewport渲染寬度的一半,

markerWidthmarkerHeight表示viewport渲染寬度和長度,一般的是viewport長、寬的一半;

箭頭定義示例:

<svg width="120" height="120" viewBox="0 0 120 120"
    xmlns="http://www.w3.org/2000/svg" version="1.1">

  <defs>
    <marker id="Triangle" viewBox="0 0 20 20" refX="0" refY="10"
        markerWidth="10" markerHeight="10" orient="auto">
      <path d="M 0 0 L 20 10 L 0 20 z" />
    </marker>
  </defs>

  <polyline points="10,90 50,80 90,20" fill="none" stroke="black" 
      stroke-width="2" marker-end="url(#Triangle)" />
</svg>

備註:對採用marker-end屬性引用箭頭,箭頭將出現線上段的末端