小程序
小游戏
企业微信
微信支付
扫描小程序码分享
我希望能把camera里的视频流画在canvas上,不知道如何实现,谢谢
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
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() } })
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
谢谢
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
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() } })
谢谢