javascript - HTML5 Canvas 不会在任何方向绘制超过 2040 年的线条

标签 javascript html canvas

编辑:在功能更强大的计算机上运行代码并正确呈现网格。可能的硬件限制?出现问题的计算机是 Samsung series 3 Chromebook。我认为这与尝试同时绘制太多线条有关。稍后测试。

我正在尝试使用 lineTo() 方法在 Canvas 上绘制网格。线条在开始时正确绘制,但任何完全超过 2048 像素的线条(无论是向下还是向右)都不会显示。从该点内部到过去的线仍然显示在另一侧,只是仅绘制过该点的线不会显示。

这是我的 JavaScript:

function drawGrid() {
        //data.tiles is the map stored as an array of arrays
        //tilesize = 60

        var bw = data.tiles[0].length * tilesize;
        var bh = data.tiles.length * tilesize;

        ctx.beginPath();

        for (i = bw; i >= 0; i -= tilesize) {
            ctx.moveTo(i, 0);
            ctx.lineTo(i, bh);
        }
        for (i = bh; i >= 0; i -= tilesize) {
            ctx.moveTo(0, i);
            ctx.lineTo(bw,i);
        }

        ctx.strokeStyle = "black";
        ctx.stroke();
    }

我已经检查了 data.tiles 变量,它正在读取正确的数字。真的不知道我在这里搞砸了什么。

最佳答案

HTML Canvas 具有最大渲染区域,具体取决于您的浏览器和硬件。

一旦您超出了这些限制,您就大功告成了。

尝试预渲染或使用多个通过 CSS 定位的 Canvas 。

关于javascript - HTML5 Canvas 不会在任何方向绘制超过 2040 年的线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30177445/

相关文章:

javascript - 如何删除边框顶部和 div 之间的间距

html - 取决于浏览器/屏幕大小的交互式 CSS 框

javascript - Canvas 游戏空格键卷轴浏览器

带有按钮单击的Javascript clearInterval

javascript - HTML 表格只有一半时间加载 jQuery

javascript - 使用jquery表单时无法提交表单

javascript - html5 Canvas 点击贝塞尔路径形状检测

android - 自定义 View : Redraw view canvas on Press

javascript - 以太坊中的简单代币系统

javascript - Http get 调用返回太多结果。::JavaScript