小程序
小游戏
企业微信
微信支付
扫描小程序码分享
问题描述:type为2d offscreencanvas 的drawImage方法 image对象为video时,在真机调试下通过getImageData无法获取数据,开发工具可以获取。
不知原因是什么,不支持吗?
offscreenCanvas 和 canvas 应该都是 CanvasRenderingContext2D,麻烦解答一下。
代码调试片段:https://developers.weixin.qq.com/s/xTJLzsme7Jzd
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
你好请问你复现的手机是什么型号,我这边华为是可以获取数据的
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
drawImage 绘制 video Demo query.select('#video0').context(res => { const video = res.context const canvas = wx.createOffscreenCanvas({type: '2d', width: w, height: h}) const context = canvas.getContext('2d') context.drawImage(video, 0, 0, w, h); // 将canvas画布内容转base64 const base64 = context.canvas.toDataURL('image/png'); // base64 to 本地地址 const tempUrl = base64src(base64) // todo 上传 或者 保存至相册 }).exec() // 工具函数 const base64src = (base64) => { const time = new Date().getTime(); const imgPath = wx.env.USER_DATA_PATH + "/poster" + time + "share" + ".png"; //如果图片字符串不含要清空的前缀,可以不执行下行代码. const imageData = base64.replace(/^data:image\/\w+;base64,/, ""); const file = wx.getFileSystemManager(); file.writeFileSync(imgPath, imageData, "base64"); return imgPath };
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
你好请问你复现的手机是什么型号,我这边华为是可以获取数据的
drawImage 绘制 video Demo query.select('#video0').context(res => { const video = res.context const canvas = wx.createOffscreenCanvas({type: '2d', width: w, height: h}) const context = canvas.getContext('2d') context.drawImage(video, 0, 0, w, h); // 将canvas画布内容转base64 const base64 = context.canvas.toDataURL('image/png'); // base64 to 本地地址 const tempUrl = base64src(base64) // todo 上传 或者 保存至相册 }).exec() // 工具函数 const base64src = (base64) => { const time = new Date().getTime(); const imgPath = wx.env.USER_DATA_PATH + "/poster" + time + "share" + ".png"; //如果图片字符串不含要清空的前缀,可以不执行下行代码. const imageData = base64.replace(/^data:image\/\w+;base64,/, ""); const file = wx.getFileSystemManager(); file.writeFileSync(imgPath, imageData, "base64"); return imgPath };