Domanda

Ho un tag canvas, lo uso per disegnare linee su quello, la tela è quadrata. Uso "spazio" per registrare lo spazio tra due righe. e ho canvasWidth e canvasHight per registrare le dimensioni della tela, in realtà, sono lo stesso numero .... 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);

        }

Posso usare il disegno di tutte le linee rosse sulla tela, ma solo le linee verdi possono disegnarne due sulla tela, altre semplicemente non possono apparire, Ho usato try {} catch e non scompare nessun errore.

È stato utile?

Soluzione

Quale browser stai utilizzando?

Il problema non sembra essere nel codice che hai mostrato, perché funziona bene per me.

Ecco il mio esempio 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>

Altri suggerimenti

Perché usi parseInt, la tua variabile di spazio ha tipo di stringa? In caso contrario, prova a rimuovere parseInt.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top