GWT Canvas: как изменить цвет линии - PullRequest
6 голосов
/ 19 февраля 2012

Поскольку рисование холста в GWT было по всей карте, позвольте мне быть явным и сказать, что я использую это:

import com.google.gwt.canvas.client.Canvas;

Проблема в том, что если я рисую черную линию, а затем меняю ее на красную, первая линия также меняется на красную.

// draw line in black
 context.moveTo(xScale(-0.5), yScale(0.0));
 context.lineTo(xScale(15.0), yScale(0.0));
 context.stroke();

 // change to red
 context.setStrokeStyle(CssColor.make(255,0,0));


 context.moveTo(xScale(0.0), yScale(20.0));
 context.lineTo(xScale(0.0), yScale(-20.0));
 context.stroke();

 // both lines appear in red

Как правильно изменить цвет пера?

1 Ответ

5 голосов
/ 19 февраля 2012

Вызов context.beginPath() перед каждой новой формой / линией с другим цветом должен решить вашу проблему.

// draw line in black
 context.beginPath();
 context.moveTo(xScale(-0.5), yScale(0.0));
 context.lineTo(xScale(15.0), yScale(0.0));
 context.stroke();

 context.beginPath();
 // change to red
 context.setStrokeStyle(CssColor.make(255,0,0));

 context.moveTo(xScale(0.0), yScale(20.0));
 context.lineTo(xScale(0.0), yScale(-20.0));
 context.stroke();

 // both lines appear in red

В основном beginPath () выдвинул состояние

...