Leinwand-Tag Zeichnung Linien Problem ...
-
22-07-2019 - |
Frage
ich einen Leinwand-Tag, ich benutze es Linien auf das zeichnen, die Leinwand ist ein Quadrat. Ich benutze „Raum“, um den Raum zwischen zwei Linien aufzeichnen. und ich habe canvasWidth und canvasHight die Leinwandgröße aufnehmen, tatsächlich, sie sind die gleichen 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);
}
kann ich die alle roten Linien auf der Leinwand zeichnen, aber die grünen Linien können nur zwei auf der Leinwand zeichnen, andere können nicht erscheinen, Ich benutzte try {} catch, und es ist kein Fehler verschwinden.
Lösung
Welche Browser Sie verwenden?
Das Problem scheint nicht im Code zu sein, Sie haben gezeigt, weil es für mich gut funktioniert.
Hier ist mein Beispiel 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>
Andere Tipps
Warum Sie parseInt verwenden, ist Ihr Platz Variablentyp der Zeichenfolge hat? Wenn nicht, versuchen ParseInt zu entfernen.