- canvas.toDataURL() 方法在IOS 中返回值为字符串“data:,?
在安卓系统中正常运行 canvas.toDataURL() 方法在iphone11 pro 中返回值为字符串“data:,” 下面代码中end()方法中无法转canvas为 二进制base64 methods: { init(res) { const width = res[0].width const height = res[0].height canvas = res[0].node //获得Canvas的上下文 context = canvas.getContext('2d') dpr = wx.getSystemInfoSync().pixelRatio canvas.width = width * dpr canvas.height = height * dpr context.scale(dpr, dpr) context.strokeStyle = "#000"; context.lineWidth = 3; //设置线两端端点样式更加圆润 context.lineCap = 'round'; context.lineJoin = 'round'; context.fillStyle = "#ffffff" context.fillRect(0, 0, canvas.width, canvas.height); }, // 画布的触摸移动结束手势响应 end: function (e) { console.log("触摸结束", e); //清空轨迹数组 for (let i = 0; i < touchs.length; i++) { touchs.pop(); } // 保存当前绘图数据到数组中,撤销的时候能用得上 if(imgList.length>=10){ imgList.pop() } if(this.data.isdraw) { imgList.push(canvas.toDataURL()); } if(imgList.length >=1) { this.setData({ disableSign: false }); this.data.isdraw = false; } }, };
2021-01-05 - 小程序 iOS 真机下webgl toDataURL方法返回‘data:,’
老问题了,我看前年的帖子就说已经修复了,但是至今iOS无法使用,而且API 的调用方法并不是用Canvas实例,而是使用canvas 实例获取的context 的canvas来调用toDataURL()。 const yourWebglCanvas = whereYouGetYourCanvas() const yourWebglCtx = yourWebglCanvas.getContext('webgl') yourWebglCtx.canvas.toDataURL('image/png', 1) // iOS 真机只能拿到了data:,
2021-01-16