Есть ли способ определить, какая часть SVG TextPath была вырезана - PullRequest
1 голос
/ 06 мая 2020

У меня есть SVG textPath, показанный ниже.

<text class="text" dominant-baseline="middle" style="font-size: 0.3em">
<textPath class="text-path" href="#2abd837a-0">Cats and dogs</textPath>
</text>

This textPath правильно показывает обрезанный на основе длины пути, на который ссылается # 2abd837a-0.

Как мне go использовать javascript, чтобы определить длину обрезанного и невидимого текста? Возможно ли это вообще?

1 Ответ

0 голосов
/ 06 мая 2020

Вы можете рассчитать длину текста, используя метод getComputedTextLength. вы можете рассчитать длину пути, используя метод getTotalLength.

let textLength = elText.getComputedTextLength();
let pathLength = abd837a.getTotalLength();
let invisibleTextLength = textLength > pathLength ? textLength - pathLength : 0;

console.log(textLength,pathLength,invisibleTextLength)
<svg viewBox="120 100 100 100">
<path id="abd837a" d="M 130 110 C 120 140, 180 140, 170 110" stroke="black" fill="transparent"/>
<text id="elText" class="text" dominant-baseline="middle" style="font-size: 16px">  
  <textPath class="text-path" href="#abd837a">Cats and dogs</textPath>
</text>
</svg>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...