2009-08-05 7 views
0

캔버스 태그가 있습니다. 그 위에 선을 그립니다. 캔버스가 사각형입니다. "space"를 사용하여 두 줄 사이의 공백을 기록합니다. 나는 canvasWidth과 canvasHight 실제로, 그들은 같은 numnber이며, 캔버스의 크기를 기록해야 .... (320)캔버스 태그 그리기 선 문제 ....

 var x=0; 
     for (var i = 0; i < 5; i++) { 
      x = parseInt(x + space); 

      myCanvas.fillStyle = "rgb(200,0,0)"; 
      myCanvas.fillRect(x, 1, 1, canvasHeight); 
      myCanvas.fillStyle = "rgb(0,200,0)"; 
      myCanvas.fillRect(1, x, canvasWidth, 1); 

     } 

나는 모든 캔버스, 의 빨간색 선하지만 녹색 선을 그릴 수 있습니다 캔버스에 두 개를 그릴 수 있고, 다른 것은 나타나지 않을 수 있습니다. try {} catch를 사용했는데 오류가 사라집니다.

+0

나는 Y 축이보다 더 큰 150 ... ... 나는 그것을 제거 – DNB5brims

답변

1

어떤 브라우저를 사용하고 있습니까?

나를 위해 잘 작동하기 때문에 문제는 표시된 코드에서 보이지 않습니다. 여기

내 예를 들어, HTML입니다 :

<!DOCTYPE html> 
<html> 
<body> 
<canvas id="myCanvas" height="320" width="320" /> 

<script language="javascript"> 
var myCanvas = document.getElementById('myCanvas').getContext('2d'); 
var space = 10; 
var x=0; 
var canvasHeight = 320; 
var canvasWidth = 320; 
for (var i = 0; i < 5; i++) { 
    x = parseInt(x + space); 

    myCanvas.fillStyle = "rgb(200,0,0)"; 
    myCanvas.fillRect(x, 1, 1, canvasHeight); 
    myCanvas.fillStyle = "rgb(0,200,0)"; 
    myCanvas.fillRect(1, x, canvasWidth, 1); 

} 
</script> 

</body> 
</html> 
+0

웹 OS를 개발 중입니다 .... – DNB5brims

0

왜 parseInt를 사용합니까? 스페이스 변수에 string 유형이 있습니까? 그렇지 않으면 parseInt를 제거하십시오.

+0

, 그것은 여전히 ​​요소를 표시하지 않을 경우, 문제가 발견 녹색 줄은 모두 그릴 수 없습니다. – DNB5brims