2016-10-24 31 views
1

我已經嘗試了很多畫在畫布上多圈,但context.closePath()方法不會出現的Javascript context.closePath()方法不會出現

我有這樣的代碼:

<script> 
    var canvas = document.getElementById('mainCanvas-2'); 
    var context = canvas.getContext('2d'); 
    for(var i=0;i<canvas.width;i++){  
     var centerX = i+Math.random()*canvas.width/2; 
     var centerY = i+Math.random()*canvas.height/2; 
     var radius = 20; 
     context.beginPath(); 
     context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false); 
     context.shadowColor = 'white'; 
     context.shadowBlur = 45; 
     context.shadowOffsetX = 0; 
     context.shadowOffsetY = 0; 
     context.fillStyle = 'rgba(255, 255, 255, 0.5)'; 
     context.fill(); 
     context.strokeStyle = none; 
     context.stroke(); 
     context.// here closePath() method does not appear 
    } 
</script> 

任何幫助,請謝謝。

+2

這個'context.strokeStyle = none'應該是'context.strokeStyle =「none''和'closePath'作品我猜 – kukkuz

+0

非常感謝,問題出在context.strokeStyle = none,應該是context.strokeStyle ='none'。 – phoenix

回答

1

context.strokeStyle = none更改爲context.strokeStyle = 'none'解決了它,歡呼!下面

演示:

var canvas = document.getElementById('mainCanvas-2'); 
 
    var context = canvas.getContext('2d'); 
 
    for(var i=0;i<canvas.width;i++){  
 
     var centerX = i+Math.random()*canvas.width/2; 
 
     var centerY = i+Math.random()*canvas.height/2; 
 
     var radius = 20; 
 
     context.beginPath(); 
 
     context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false); 
 
     context.shadowColor = 'white'; 
 
     context.shadowBlur = 45; 
 
     context.shadowOffsetX = 0; 
 
     context.shadowOffsetY = 0; 
 
     context.fillStyle = 'rgba(255, 255, 255, 0.5)'; 
 
     context.fill(); 
 
     context.strokeStyle = 'none'; 
 
     context.stroke(); 
 
     context.closePath(); 
 
    }
<canvas id = "mainCanvas-2"></canvas>

+1

是的,謝謝。 – phoenix

+1

請注意,'closePath'仍然不會出現*,不過這個方法會做一個'lineTo(first_defined_point_of_the_path)',所以對於一個完整的弧來說,它什麼都不做,並且'stroke()'在之前被調用過。 – Kaiido

+0

是的,我正在等待它,我不能接受,直到完成時間。 – phoenix