收藏
回答

如何把camera里的视频流,画在canvas上呢?

框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 camera 客户端 6.6.5 1.9.91

我希望能把camera里的视频流画在canvas上,不知道如何实现,谢谢


回答关注问题邀请回答
收藏

2 个回答

  • 本末
    本末
    2023-03-29
    Page({
      onReady: function () {
        wx.createSelectorQuery().select("#myCanvas").fields({
          node: true,
          size: true
        }).exec((res) => {
          const canvas = res[0].node;
          this.canvas = canvas
          this.ctx = canvas.getContext("2d")
        });
        this.drawCamera()
      },
      drawCamera: function () {
        const camera = wx.createCameraContext()
        this.count = 0
        const cameraListener = camera.onCameraFrame((frame) => {
          if (this.count < 10) console.log(frame)
          this.count++
          this.canvas.width = frame.width
          this.canvas.height = frame.height
          let data = new Uint8Array(frame.data);
          let clamped = new Uint8ClampedArray(data);
          let imageData = this.canvas.createImageData(clamped, frame.width, frame.height);
          this.ctx.putImageData(imageData, 0, 0, 0, 0, frame.width, frame.height);
        })
        cameraListener.start()
      }
    })
    
    2023-03-29
    有用
    回复
  • Jerry Yang
    Jerry Yang
    2018-03-23

    谢谢

    2018-03-23
    有用
    回复
登录 后发表内容