基础库版本:2.16.0
目的:offscreen绘制(主要是对图片做像素级处理)
查官方文档可以这么写
offscreenCanvas = wx.createOffscreenCanvas();
offscreenCtx = offScreenCanvas.getContext('2d');
结果吧,offscreenCtx报错undefined,不管是开发者工具还是真机预览都没有区别对待
然后看了下offscreenCanvas
不对劲啊,搜了一下,好家伙,原来还没支持
幸运的是官方发布基础库2.16.1会支持offscreenCanvas 2dcontext(https://developers.weixin.qq.com/community/develop/doc/000284f77301d00b4ffbd753b51c01?highLine=offscreencanvas)
不幸运的是因为有重大bug,回退了, 退了,了,e(https://developers.weixin.qq.com/community/develop/doc/00084219fac4604943fba168c5d000?highLine=%25E5%259F%25BA%25E7%25A1%2580%25E5%25BA%25932.16.1)
白更新了开发者工具
现在就很尴尬,到底是要等官方不知何时的更新,还是另寻他法
虽说要另寻他法也只找到这个实际上还是onscreen的方法,实在是不想用https://developers.weixin.qq.com/community/develop/doc/00068ebb07c3301cd0f97524251000?highLine=offscreen
有没有大佬知道有什么方法可以offscreen得到ImageData?或者有什么替代方法?
我也遇到了这个问题。。。官方文档真误导人,浪费时间
不用canvas可以用wx.request去读取png图片,得到arraybuffer,根据png规范去解码得到像素值
解码过程可以参考https://vivaxyblog.github.io/2019/12/07/decode-a-png-image-with-javascript-cn.html
处理的时候转成Uint8ClampedArray格式,最终得到的就是imageData.data
(也可以找js png decoder,github很多MIT许可的)
2021.04.22
```js
const offscreenCanvas = wx.createOffscreenCanvas(500, 400, this)
offscreenCanvas.getContext('2d') 还是 undefined
```
官方文档 https://developers.weixin.qq.com/miniprogram/dev/api/canvas/OffscreenCanvas.getContext.html
2d 最低版本2.14.4 不就是在误导人吗?
你好,2.16.1 会支持这个接口,已经在灰度了
用法如下:
搞了一上午,getImageData得到的全是0的数组,一度以为哪里写错了
wx.canvasToTempFilePath
对于用wx.createOffscreenCanvas创建的canvas不起作用?