我目前正在探索three.js所,并在我的小项目。 该项目包含一个专注于3D模型和动画的画布,以及另一个处理更简单2D作品的画布。2D画布(后面的3D Canvas)的未绘制图像
我已经设置了3D画布正确,所以它的背景是透明的,我可以看到我箱手动绘制2D画布,这使我假设的设置是正确的。
我遇到的问题是,当涉及到的图像。我根本无法在2D画布上显示图像。我已经在一个单独的项目上进行了试验,并且可以在那里绘制图像,没有问题。该代码是非常基本的,我居然发现它在这里,但如下:
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 {
\t position: fixed;
\t z-index: 0;
}
#bgcanvas {
\t z-index: -10;
\t position: fixed;
\t width: 100vw;
\t height: 100vh;
}
<div id="fixedContainer">
<canvas id="bgcanvas"></canvas>
<canvas id="canvas"></canvas>
</div>
这是怎么回事,我是不知道的? 提前致谢!
UPDATE编辑:这个问题是我必须在其左上角是透明的图像,并且不知道图像将伸展。 user3412847的评论让我看着办吧
只是一个fyi:如果你不知道并开始怀疑为什么你的图像看起来很奇怪(拉伸),这是因为你已经在CSS中设置了画布的宽度和高度。一个画布的标准尺寸是300x150像素,使用CSS来改变尺寸会拉伸它。相反,使用'canvas.width = 100;'和'canvas.height = 100'来改变画布的大小。 – Niddro
我没有意识到这一点,感谢您的提示!一旦图像问题消失,我会更改我的代码! –