小程序
小游戏
企业微信
微信支付
扫描小程序码分享
canvas画布,type="webgl", wx.canvasGetImageData报错 {errMsg: "canvasGetImageData: fail canvas is empty"}
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
要换成这个 api,ctx.getImageData(x,y,width,height),ctx是canvas的实例
获取canvas实例的例子:
// canvas.js Page({ onReady() { const query = wx.createSelectorQuery() query.select('#myCanvas') .fields({ node: true, size: true }) .exec((res) => { const canvas = res[0].node ctx = canvas.getContext('2d') const dpr = wx.getSystemInfoSync().pixelRatio canvas.width = res[0].width * dpr canvas.height = res[0].height * dpr ctx.scale(dpr, dpr) ctx.fillRect(0, 0, 100, 100) }) } })
获取imagedata,如果有缩放画布,像上面的代码,获取时参数也要乘以一个scale。没有缩放画布就不用乘。
imageData = ctx.getImageData(x *dpr , y *dpr , width *dpr , height *dpr );
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
要换成这个 api,ctx.getImageData(x,y,width,height),ctx是canvas的实例
获取canvas实例的例子:
// canvas.js Page({ onReady() { const query = wx.createSelectorQuery() query.select('#myCanvas') .fields({ node: true, size: true }) .exec((res) => { const canvas = res[0].node ctx = canvas.getContext('2d') const dpr = wx.getSystemInfoSync().pixelRatio canvas.width = res[0].width * dpr canvas.height = res[0].height * dpr ctx.scale(dpr, dpr) ctx.fillRect(0, 0, 100, 100) }) } })
获取imagedata,如果有缩放画布,像上面的代码,获取时参数也要乘以一个scale。没有缩放画布就不用乘。
imageData = ctx.getImageData(x *dpr , y *dpr , width *dpr , height *dpr );