【发布时间】:2017-05-10 09:06:11
【问题描述】:
这个截图和代码 sn-p 会告诉你我的麻烦。如何避免这种情况?可能是我以错误的方式这样做吗?如果可能的话,我想看看一些代码示例。
let canvas = document.querySelector("canvas");
let ctx = canvas.getContext("2d");
canvas.width = 500;
canvas.height = 500;
let image = new Image();
image.src= "https://www.html5rocks.com/static/images/identity/HTML5_Badge_256.png";
function rand(min, max)
{
return Math.floor(Math.random() * (max - min + 1)) + min;
}
image.addEventListener("load", function()
{
let top = canvas.width / 2 - image.width / 2;
let left = canvas.height / 2 - image.height / 2;
function render()
{
top += rand(-2, 2);
left += rand(-2, 2);
ctx.save();
ctx.globalAlpha = 0.05;
ctx.fillStyle = "#9ea7b8";
ctx.fillRect(0, 0, canvas.width, canvas.height);
ctx.restore();
ctx.drawImage(image, top, left, image.width, image.height);
requestAnimationFrame(render);
}
render();
});
<canvas></canvas>
【问题讨论】:
标签: javascript canvas graphics 2d