2012-02-19 14 views
5

Ponieważ rysunek płótno w GWT został po całej mapie, pozwól mi być jawne i powiedzieć używam to:GWT Płótno: jak zmienić kolor linii

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

Problem polega na tym, że jeśli rysuję czarną linię, a następnie zmienić na czerwoną, pierwsza linia również zmieni się na czerwoną.

// 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 

Jaka jest właściwa metoda zmiany koloru pióra?

Odpowiedz

4

Wywołanie context.beginPath() przed każdym nowym kształtem/linią o innym kolorze powinno rozwiązać problem.

// 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 

Zasadniczo beginPath() pchnął Państwowej

+0

Dzięki. Działa świetnie. - Seadrive – SeaDrive