您好,我在开发工具上,使用canvas的drawImage,是可以绘制base64的,但是到了IOS上却不可以,canvas的其他绘图函数都OK,只有绘制base64时什么都没有。以下是代码片段:
thumbCanvasCtx.drawImage(
"data:image/png;base64,"
+ thumbBase64, 0, 0,canvasWidth,canvasHeight);
thumbCanvasCtx.draw();
我的图片是通过WebSocket读取到的ArrayBuffer,是服务器端动态生成的字节码,图片格式是png。
请问是小程序的canvas在IOS上不支持drawImage(base64)吗?还是我的使用方式有问题?
https://developers.weixin.qq.com/community/develop/article/doc/00046ef5f40888c9867a14b9d51813
遇到相同的问题,调试器和Android上都可以,iOS上无效。
你用的是Canvas 2D还是旧版的Canvas
旧版Canvas的drawImage(),需要指定文件路径;
Canvas 2D版需要调用Canvas.createImage方法后将结果传递给drawImage的第一个参数。
或者还有另外一个方法wx.canvasPutImageData,前提是先把base64转成Uint8ClampedArray
https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasPutImageData.html