gpt4 book ai didi

javascript - 2D Canvas(在 3D Canvas 后面)不绘制图像

转载 作者:行者123 更新时间:2023-11-28 01:28:39 27 4
gpt4 key购买 nike

我目前正在探索 Three.js,并致力于我的一个小项目。该项目包含一个专注于 3D 模型和动画的 Canvas ,以及另一个用于处理更简单的 2D 工作的 Canvas 。

我已经正确设置了 3D Canvas ,所以它的背景是透明的,我可以看到我在 2D Canvas 上手动绘制的框,这让我假设设置是正确的。

我遇到的问题是图像方面的问题。我根本无法在 2D Canvas 上显示图像。我已经在一个单独的项目上进行了试验,可以在那里绘制图像,没问题。代码非常基础,我实际上是在这里找到的,但如下所示:

window.onload = function() {
var canvas = document.getElementById('bgcanvas');
var context = canvas.getContext('2d');
var logoText = new Image();

logoText.onload = function() {
context.drawImage(logoText, 69, 50);
};
logoText.src = 'images/logotext.png';
}
#canvas {
position: fixed;
z-index: 0;
}
#bgcanvas {
z-index: -10;
position: fixed;
width: 100vw;
height: 100vh;
}
<div id="fixedContainer">
<canvas id="bgcanvas"></canvas>
<canvas id="canvas"></canvas>
</div>

发生了什么我不知道的事情?非常感谢!

更新编辑:问题是我有一张左上角是透明的图像,并且不知道图像会拉伸(stretch)。 user3412847 的评论帮助我弄明白了

最佳答案

指定图像宽度高度 是养成的好习惯。使用此语法:context.drawImage(image, x, y, width, height)

希望这对您有所帮助。

关于javascript - 2D Canvas(在 3D Canvas 后面)不绘制图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31122705/

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