由于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
更改笔颜色的正确方法是什么?
答案 0 :(得分:5)
在每个具有不同颜色的新形状/线之前调用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()推送状态