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

标签 javascript html image canvas

我目前正在探索 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/

相关文章:

javascript - 为什么点击监听器不像 li 那样对父元素起作用?

php - 使用 php 创建 javascript 数组以从目录中获取图像

html - 子元素上的填充不会移动父元素的大小

javascript - jquery 获取按钮数组及其值

javascript - 如何在 Eclipse 控制台中显示 javascript console.log?

html - 为什么这个导航栏上面有空格

html - 在文本框中输入数字显示图像

image - Angular 2 : Dynamic Images

JQuery 切换多个 Div + 阅读更多/阅读更少

javascript - 如何用图像填充多边形?