gpt4 book ai didi

javascript - 使用 JavaScript 将图像加载到 Canvas 上

转载 作者:技术小花猫 更新时间:2023-10-29 12:44:42 25 4
gpt4 key购买 nike

我目前正在使用 <canvas> 进行测试元素来绘制所有背景(稍后我会为这些图像添加效果,这也是我不使用 CSS 加载图像的原因)。也就是说,我目前很难将图像加载到 Canvas 上。这是代码:

<html>    
<head>
<title>Canvas image testing</title>
<script type="text/javascript">
function Test1() {
var ctx = document.getElementById('canvas');
if (canvas.getContext) {
var ctx = canvas.getContext('2d');
//Loading of the home test image - img1
var img1 = new Image();
img1.src = 'img/Home.jpg';
//drawing of the test image - img1
img1.onload = function () {
//draw background image
ctx.drawimage(img1, 0, 0);
//draw a box over the top
ctx.fillStyle = "rgba(200, 0, 0, 0.5)";
ctx.fillRect(0, 0, 500, 500);
};
}
}
</script>
<style type="text/css">
canvas { border: 2px solid black; width: 100%; height: 98%; }
</style>
</head>
<body onload="Test1();">
<canvas id="canvas" width="1280" height="720"></canvas>
</body>
</html>

我认为我没有正确加载图像,但我不确定。

最佳答案

有几点:

  1. drawimage 应该是 drawImage - 注意大写 i。
  2. 您的 getElementById 正在寻找 ID 为 canvas 的元素,但它应该是 test1canvas是标签,不是ID。
  3. canvas 变量(例如,在您的 canvas.getContext 行中)替换为 ctx,因为这是您用来选择的变量你的 Canvas 元素。
  4. 在设置图像的 src 之前绑定(bind)您的 onload 处理程序。

所以你的函数应该像这样结束:

function Test1() {
var ctx = document.getElementById('test1');
if (ctx.getContext) {

ctx = ctx.getContext('2d');

//Loading of the home test image - img1
var img1 = new Image();

//drawing of the test image - img1
img1.onload = function () {
//draw background image
ctx.drawImage(img1, 0, 0);
//draw a box over the top
ctx.fillStyle = "rgba(200, 0, 0, 0.5)";
ctx.fillRect(0, 0, 500, 500);

};

img1.src = 'img/Home.jpg';
}
}

关于javascript - 使用 JavaScript 将图像加载到 Canvas 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14757659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com