【问题标题】:canvas tag drawing lines problem....canvas标签画线问题....
【发布时间】:2009-08-05 17:44:50
【问题描述】:

我有一个画布标签,我用它在上面画线, 画布是正方形。 我使用“空格”来记录两行之间的空格。 我有canvasWidth和canvasHight来记录画布的大小,实际上它们是相同的数字....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 ,没有错误消失。

【问题讨论】:

  • 我发现有一个问题,当Y轴大于150时会不显示元素... ...

标签: javascript html canvas


【解决方案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>

【讨论】:

    【解决方案2】:

    你为什么使用 parseInt,你的空间变量是字符串类型的吗?如果没有,请尝试删除 parseInt。

    【讨论】:

    • 我去掉了,还是画不出全绿线。
    猜你喜欢
    • 1970-01-01
    • 2022-08-08
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    相关资源
    最近更新 更多