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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top