2016-06-06 1 views
-4

lineTo() funktion funktioniert nicht für mich, warum? Hier ist der Code.lineTo() funktioniert nicht

<canvas id="sid" height="1000px" width="1000px"> </canvas> 
<script> 
    var can = document.querySelector('#sid'); 

    var a = can.getContext('2d'); 

    a.beginPath(); 
    a.moveTo(0, 0); 
    a.lineTo(140, 140); 
    a.lineTo(160, 160); 

</script> 
+2

Was Sie oder nicht zu sehen, zu sehen? Hast du überprüft, dass deine Leinwand eine Breite und Höhe hat? Außerdem müssen Sie am Ende streichen(). – Toby

Antwort

3

Sie haben vergessen, die stroke() Funktion aufzurufen. Befolgen Sie das Tutorial richtig.

Vom docs:

Die CanvasRenderingContext2D.stroke() Methode des Canvas 2D-API streicht den aktuellen oder angegebenen Pfad mit dem aktuellen Strichstil der Nicht-Null-Wickel Regel.

<canvas id="sid" height="1000px" width="1000px"></canvas> 
 
<script> 
 
    var can = document.querySelector('#sid'); 
 

 
    var a = can.getContext('2d'); 
 

 
    a.beginPath(); 
 
    a.moveTo(0, 0); 
 
    a.lineTo(140, 140); 
 
    a.lineTo(160, 160); 
 
    // After this you need to run the stroke command to get the line. 
 
    a.stroke(); 
 
</script>

1

Sie streicht nicht die Linie, nachdem Sie es definiert haben. Fügen Sie einfach die stroke() Methode hinzu.

<canvas id="sid" height="1000px" width="1000px">  </canvas> 
<script> 
var can = document.querySelector('#sid'); 
var a = can.getContext('2d'); 
a.beginPath(); 
a.moveTo(0, 0); 
a.lineTo(140, 140); 
a.lineTo(160, 160); 
a.stroke(); // This line is the import one being omitted. 
a.closePath(); // You should close your path also. Not absolutely necessary in this case, given that stroke() will do this for you. 
</script> 
+1

Sie brauchen den 'ctx.closePath()' Aufruf nicht. Siehe meinen Kommentar zu Praveens Antwort oben. – Blindman67

+0

Ja, das ist in diesem Fall nicht absolut notwendig, aber es lohnt sich, es dem OP für seine zukünftige Referenz zu merken :) – ManoDestra

0

diese Hilfe Sie:

<html> 
<head> 
    <meta charset="utf-8"> 

</head> 
<body> 
    <canvas id="sid" height="1000px" width="1000px"></canvas> 
    <script> 
     var can = document.getElementById("sid"); 
     var a = can.getContext('2d'); 
     a.beginPath(); 
     a.lineWidth = "5"; 
     a.strokeStyle = "green"; 
     a.moveTo(0,0); 
     a.lineTo(140,140); 
     a.lineTo(160,160); 
     a.stroke(); 
    </script>  
</body> 
</html>