0

我目前正在将base64图像从客户端传输到我的服务器socket.io。在服务器上,我想将该base64图像渲染到我的画布中。

代码是:

function newSlide(slideImage){
  socket.broadcast.emit('newSlide', slideImage);
  var img = new Image;
  img.src = slideImage;
  ctx.drawImage(img, 0, 0);
}

使用该代码,在客户端一切正常,我可以将 base64 图像加载到普通画布中,但在我的服务器上server.js(此代码所在的位置),它不工作,我收到一条错误消息Image is not definednew Image当尝试不创建图像并放入base64字符串,它表示图像或画布除外。

图像创建有什么问题,为什么它不起作用?我该怎么做才能让它发挥作用?

4

2 回答 2

2

Image是 DOM API 的一部分,因此在 Node 运行时中不存在。

为了做你想做的事,你将不得不导入一个允许你模拟一些 DOM API 的模块。

于 2017-07-18T09:16:06.660 回答
0

应该是new Image(),不是new Image

于 2020-06-30T22:22:19.817 回答