如何将图像添加到画布中

如何将图像添加到画布中

我正在试验HTML中的新画布元素。

我只是想在画布上添加一个图像,但由于某些原因,它不起作用。

我有以下代码:

HTML

<canvas id="viewport"></canvas>

CSS

canvas#viewport { border: 1px solid white; width: 900px; }

JS

var canvas = document.getElementById('viewport'),context = canvas.getContext('2d');make_base();function make_base(){
  base_image = new Image();
  base_image.src = 'img/base.png';
  context.drawImage(base_image, 100, 100);}

图像存在,我没有看到JavaScript错误。图像不显示。

一定是很简单的事情我错过了.。


天涯尽头无女友
浏览 619回答 3
3回答

桃花长相依

也许你应该等到图像加载后才画出来。试一试:var&nbsp;canvas&nbsp;=&nbsp;document.getElementById('viewport'),context&nbsp;=&nbsp;canvas.getContext('2d');make_base();function&nbsp;make_base(){ &nbsp;&nbsp;base_image&nbsp;=&nbsp;new&nbsp;Image(); &nbsp;&nbsp;base_image.src&nbsp;=&nbsp;'img/base.png'; &nbsp;&nbsp;base_image.onload&nbsp;=&nbsp;function(){ &nbsp;&nbsp;&nbsp;&nbsp;context.drawImage(base_image,&nbsp;0,&nbsp;0); &nbsp;&nbsp;}}也就是说,在图像的onload回调中绘制图像。

达令说

在我的例子中,我弄错了函数参数,这些参数是:context.drawImage(image,&nbsp;left,&nbsp;top);context.drawImage(image,&nbsp;left,&nbsp;top,&nbsp;width,&nbsp;height);如果你希望他们context.drawImage(image,&nbsp;width,&nbsp;height);您将把图像放在画布外面,其效果与问题中描述的效果相同。
打开App,查看更多内容
随时随地看视频慕课网APP