GWT Canvas:如何改变线条颜色

时间:2012-02-19 16:08:38

标签: gwt canvas colors

由于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 个答案:

答案 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()推送状态