canvas.drawImage是否支持base64?
发布于 6 年前 作者 minghou 13663 次浏览 来自 问答

您好,我在开发工具上,使用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)吗?还是我的使用方式有问题?

2 回复

你用的是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

回到顶部