Как нарисовать SVG изогнутой, используя один путь?

То, что я хочу, это на следующем рисунке -

У меня есть 3 относительных вопроса относительно этого

1. Можем ли мы нарисовать весь холст с single path .?

2. Если мы можем нарисовать только целое, используя более одного пути, будет ли удобно давать им анимацию?

3.В обоих случаях кто-нибудь может быть достаточно любезен, чтобы правильно сориентироваться с образцом.

Это то, где я дошел до сих пор... как вы можете видеть, я не эксперт по SVG и, конечно, вы можете использовать круг для большой точки. Заранее спасибо.

svg {
  width: 100%;
}

.straightLine {
  height: 3000px;
  position: relative;
}

.st0 {
  fill: none;
  stroke-dashoffset: 3px;
  stroke: #000000;
  stroke-width: 5;
  stroke-miterlimit: 10;
}
<div class="straightLine">
  <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1280 1000" style="enable-background:new 0 0 1280 800;" xml:space="preserve">
 <g class="all">
 <path id="line1" class="st0" stroke-dasharray="10,9" d="M 35 -17 C 0 190 50 83 600 109 "/>
 <path id="line1" class="st0" stroke-dasharray="10,9" d="M 600 109  c 64.9 0 90.4 40.5 90.4 90.4"/>
 </g>
  </svg>
</div>

1 ответ

Решение

Используйте что-то вроде:

<path d="M 20 0 v 20 a 30 30 0 0 0 30 30 h 600 a 40 40 0 0 1 0 80 h -140 a 30 30 0 0 0 0 60 h 200 a 40 40 0 0 1 0 80 h -100 a 30 30 0 0 0 -30 30 v 20" />

Как показано в документации, пути могут содержать произвольное количество компонентов.

Как резюме:

M/m    Move current position
L/l    Draw a line
H/h    Draw a horizontal line
V/v    Draw a vertical line
C/c    Draw a cubic Bezier
Q/q    Draw a quadratic Bezier
A/a    Draw a circular/elliptal arc
Z/z    Close path

Как правило, строчные буквы указывают абсолютные координаты, а строчные - относительные.

Другие вопросы по тегам