javascript - Canvas 图像。 Base64 不显示

标签 javascript html canvas

嗨嗨。

我剪切了图像。在 Canvas 中绘制后。但是当我尝试通过以下方式将 Canvas 变成图像时:

crop(image, pixelCrop, fileName) {
  const canvas = document.getElementById('can')
  canvas.width = pixelCrop.width
  canvas.height = pixelCrop.height
  const ctx = canvas.getContext('2d')
  let img = new Image()
  img.src = image.preview
  img.onload = function() {
    console.log(img)
    ctx.drawImage(
      img,
      pixelCrop.x,
      pixelCrop.y,
      pixelCrop.width,
      pixelCrop.height,
      0,
      0,
      pixelCrop.width,
      pixelCrop.height,
    );
  }
  let mage = document.getElementById('img')
  mage.src = canvas.toDataURL("image/png")

}

我没有得到任何东西。图片不显示。

HTML

<canvas id="cnvs"></canvas>
<span>
    <img src="" id="img"/>
</span>

我做错了什么?

最佳答案

crop(image, pixelCrop, fileName) {
  const canvas = document.getElementById('can')
  canvas.width = pixelCrop.width
  canvas.height = pixelCrop.height
  const ctx = canvas.getContext('2d')
  let img = new Image()
  img.src = image.preview
  img.onload = async function() {
    console.log(img)
    await ctx.drawImage(
      img,
      pixelCrop.x,
      pixelCrop.y,
      pixelCrop.width,
      pixelCrop.height,
      0,
      0,
      pixelCrop.width,
      pixelCrop.height,
    );
    let mage = document.getElementById('img')
    mage.src = canvas.toDataURL("image/png")
  }
}

关于javascript - Canvas 图像。 Base64 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50189185/

相关文章:

javascript - 将 Canvas 划分为独立的空间

javascript - 为什么 $.appendTo() 没有正确附加我的 <options> 标签?

css - 如何最小高度 float DIV?

javascript - 交互式弹线Canvas框架?

javascript - 聚焦不相关的元素时更改元素的样式

html - 多个UL的级别不一样

javascript - draw2d javascript 库 - 多行标签

javascript - react native 事件侧边栏菜单项

javascript - 如何向 Canvas 元素添加 onClick 事件处理程序并控制鼠标移动操作?

javascript - 添加自动播放 jquery 幻灯片