Не проверял, но это должно работать:
$('#yourColorpickerField').ColorPicker({
onChange: function(hsb, hex, rgb, el) {
var newColor = $(el).val(hex);
var context = canvas.getContext('yourCanvasName');
context.fillStyle = newColor;
// here, you can draw your line again, or if you're already doing it on an interval, it should be fine for the next time you call it
}
});
Предполагается, что все ваши линии одного цвета. Я вижу, что вы хотите, чтобы это применялось только к «определенному отрезку линии», и в этом случае вам нужно будет изменить приведенный выше код. Это будет сильно зависеть от того, как выглядит ваш существующий код, но в основном вместо установки context.fillStyle на новый цвет, вы захотите сохранить новое значение цвета в другой переменной, которую вы сможете прочитать позже, когда придет время нарисовать этот конкретный отрезок (в этот момент вы установите цвет context.filleStyle непосредственно перед рисованием линии).