Короткий ответ - нет, во всяком случае, не встроенным. Причина в том, что при каждом новом вызове stroke()
он будет обводить весь путь, а не только еще не обработанные части.
Вы всегда можете создать свою собственную функцию, которая, скажем, принимает кучу точек или типов сегментов (вам нужно создать свой собственный класс), присваивая каждому цвет, и эта функция анализирует их и выполняет рисование. , Но это все, что вы получите.
Вы быстро поймете, что это открывает новые и волнующие проблемы, например, что делать с митрингом. И если вы не знаете, что такое подавление, вы узнаете очень быстро, выполнив это:)
(... и затем некоторые из этих проблем можно решить с помощью ctx.linecap = 'round'