Как очистить дугу или круг в канве HTML5?

Я обнаружил, что существует метод clearRect () , но не может найти ни одного, чтобы очистить дугу (или полный круг).

Есть ли способ очистить дугу на холсте?

18
задан mikemaccana 16 May 2016 в 08:32
поделиться

2 ответа

Нет, после того, как вы нарисовали что-то на холсте, нет объекта для очистки, только пиксели, которые вы нарисовали. Метод clearRect не очищает ранее нарисованный объект, он просто очищает пиксели в пространстве, заданном параметрами. Вы можете использовать метод clearRect для очистки дуги, если вы знаете прямоугольник, который ее содержит. Это, конечно, очистит любые другие пиксели в области, поэтому вам придется перерисовать их.

Редактировать: MooGoo дал гораздо лучший ответ ниже

10
ответ дан 30 November 2019 в 06:05
поделиться

Нет clearArc, однако вы можете использовать составные операции для достижения того же результата

context.globalCompositeOperation = 'destination-out'

Согласно MDC эффект от этого параметра

Существующий контент сохраняется там, где он не перекрывается новая форма.

https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Compositing

Таким образом, любая заполненная фигура в этом режиме приведет к удалению текущего содержимого холста.

32
ответ дан 30 November 2019 в 06:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: