我正在尝试在 HTML5 Canvas 中显示背景图像。我已确保图像和 html 文件位于同一文件夹中,因此图像正在显示。我还尝试调整图像大小以确保图像对于 Canvas 来说不会太大,但是,图像一直显示在 Canvas 下方而不是 Canvas 内部。我的代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Opening screen</title>
</head>
<body>
<img>
<canvas id="canvas"
style =
"width: 700px;
height: 500px;
border: 1px solid #000000;
padding-left: 0;
padding-right: 0;
margin-top: 40px;
margin-left: auto;
margin-right: auto;
display: block;">
</canvas>
<img id="sky" src="sky.png">
<script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var img = document.getElementById("sky");
ctx.drawImage(img, 10, 10);
</script>
</body>
</html>
最佳答案
当您尝试将其插入 Canvas 时,图像尚未加载/下载。
您可以将您的代码添加到 window.onload
函数,它应该可以工作
window.onload = function() {
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var img = document.getElementById("sky");
ctx.drawImage(img, 10, 10);
}
至于为什么它显示在 Canvas 下方,您有一个包含该图像的 img
元素,位于 Canvas 之后。
关于javascript - HTML Canvas 在 Canvas 下方而不是 Canvas 内部显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54004810/