2012-02-19 23 views
5

Dal momento che l'area di disegno in GWT è stata tutta la mappa, mi permetta di essere esplicito e dire che sto usando questo:GWT Canvas: come cambiare linea di colore

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

Il problema è che se disegno una linea nera e poi passa al rosso, anche la prima riga diventa rossa.

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

Qual è il metodo corretto per modificare il colore della penna?

risposta

4

Chiamare context.beginPath() prima di ogni nuova forma/linea con colore diverso dovrebbe risolvere il problema.

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

Fondamentalmente BeginPath() spinto lo stato

+0

Grazie. Funziona alla grande. - Seadrive – SeaDrive

Problemi correlati