2014-02-28 2 views
0

У меня проблема. Мне нужно нарисовать другую границу на моем холсте. Если я попробую это:Нарисовать другую границу в линии на холсте

c2.beginPath(); 

c2.moveTo(0, 0); 

c2.lineTo(0, 100); 
c2.lineWidth = Number(sw) + 6; 
c2.strokeStyle = "red"; 
c2.stroke(); 
c2.lineTo(100, 100); 
c2.lineWidth = Number(sw) + 6; 
c2.strokeStyle = "#00ec11"; 
c2.stroke(); 
c2.lineTo(0, 100); 
c2.lineWidth = Number(ss) + 6; 
c2.strokeStyle = "red"; 
c2.stroke(); 
c2.closePath(); 
c2.lineWidth = Number(sw) + 6; 
c2.strokeStyle = "#00ec11"; 
c2.stroke(); 

c2.fill(); 

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

--- Редактировать: Я могу; t закрыть патч, когда закрываю мою линию. Когда я закрываю патч, моя фигура неправильна. Mayby другие идеи?

ответ

0

c2.stroke(); перерисовывает весь путь до этой точки с помощью текущего штрихаStyle. Таким образом, в конце будет применяться только последний стиль.

Попробуйте добавить c2.closePath();, затем c2.beginPath() после каждого c2.stroke(), чтобы начать новый путь, который может иметь отдельный штрих.

, например:

c2.lineTo(0, 100); 
c2.lineWidth = Number(sw) + 6; 
c2.strokeStyle = "red"; 
c2.stroke(); 
c2.closePath(); 

c2.beginPath(); 
c2.moveTo(0, 100); 
c2.lineTo(100, 100); 
c2.lineWidth = Number(sw) + 6; 
c2.strokeStyle = "#00ec11"; 
c2.stroke(); 
c2.closePath(); 
. 
. 
. 
Смежные вопросы