javascript - Canvas Javascript 绘图功能不起作用

标签 javascript html canvas

我试图将 Canvas 上下文与实际的绘制函数分开,但不起作用。作为上下文的一部分,我希望包括调整不起作用的 Canvas 大小的功能。 HTML 工作得很好,因为 getElementbyID 的工作很明显。包含了可以正常工作的绘图功能以供引用。

window.onload = function() {
    'use strict';
    var ctx = getCanvas();
    draw(ctx);
}
function getCanvas() {
    var canvas = document.getElementById('canvas');
    var ctx = canvas.getContext('2d');
    var w = canvas.width = 200;
    var h = canvas.height = 150;
    return ctx;
}
function draw(ctx) {
    ctx.fillStyle = 'rgb(200, 0, 0)';
    ctx.fillRect(10, 10, 50, 50);
    ctx.fillStyle = 'rgba(0, 0, 200, 0.5)';
    ctx.fillRect(30, 30, 50, 50);
}

最佳答案

我发现您的代码没有问题。它按预期工作。

window.onload = function() {
    'use strict';
    var ctx = getCanvas();
    draw(ctx);
};

function getCanvas() {
    var canvas = document.getElementById('canvas');
    var ctx = canvas.getContext('2d');
    var w = canvas.width = 200;
    var h = canvas.height = 150;
    return ctx;
}

function draw(ctx) {
    ctx.fillStyle = 'rgb(200, 0, 0)';
    ctx.fillRect(10, 10, 50, 50);
    ctx.fillStyle = 'rgba(0, 0, 200, 0.5)';
    ctx.fillRect(30, 30, 50, 50);
}
canvas{border: 1px solid black}
<canvas id="canvas" width="1000" height="1000"></canvas>

注意:不要使用 CSS 设置 Canvas 宽度和高度(首先)。

关于javascript - Canvas Javascript 绘图功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44714025/

相关文章:

javascript - 我应该如何实现当我点击一个按钮时,页面在 React 中空白一秒钟的效果

Css 以 SEO 友好的方式将图像定位在文本的一侧

javascript - 从 FileReader 的 ArrayBuffer 中提取部分数据

java - double 和 int 的算法速度?

html - 预加载字体 HTML5、JS、Kinetic.js?

javascript - Fabric.js 子类化 fabric.Group - 错误 : "Cannot read property ' async' of undefined"when load from JSON

javascript - 单击事件时将数据从 javascript 传递到 asp.net

javascript - Typeahead.js/Bloodhound 只显示一个结果

javascript - 在 javascript 中使用 switch 语句而不是一堆 if()else if() 是否有任何性能提升?

html - 仅向表格的页眉和页脚添加连续边框