这个问题很坑啊,这也不好用,那也不好用,唉
scroll-view中的scroll-anchoring属性不生效是什么原因?设置scroll-anchoring为true,向scrollView添加元素,列表中的旧的元素依然会被顶下去,而不是锚定在添加元素之前的位置,有没有scroll-anchoring的具体使用demo 下面是代码片段: https://developers.weixin.qq.com/s/bBhPVjmy7ocV
2020-06-23这个问题解决了吗?
安卓手机用canvasToTempFilePath提示exceed size limit使用canvas2d的方法,安卓手机vivo z5x 红米note8 pro等用canvasToTempFilePath生成图片提示canvasToTempFilePath:fail:convert native buffer parameter fail. native buffer exceed size limit,初步怀疑是宽度设置太大原因,设置了180vw。 <canvas id="canvas" canvas-id="signCanvas" type="2d" binderror="drawError" bindtouchstart="drawStart" bindtouchmove="drawMove" bindtouchend="drawEnd" style="width:{{width}}vw;height:100%;border:1px solid #ddd;margin:auto;margin-left:{{marginLeft}}vw;"> </canvas> data: { marginLeft: 0, width: 180, demoSrc: '', title: '', isShowCanvas: true, // 默认一开始只有一个页面 isOnlyOnePage: true }, init(res) { console.log(res) const width = res[0].width const height = res[0].height const canvas = res[0].node console.log('初始化宽高度', width, height) canvasWidth = width; canvasHeight = height signCanvas = canvas.getContext('2d') canvas.width = width * dpr canvas.height = height * dpr canvasObj = canvas signCanvas.scale(dpr, dpr) signCanvas.lineWidth = 8; signCanvas.lineCap = "round"; signCanvas.strokeStyle = "#222222"; }, // 保存确定 saveSign() { let that = this; let canHeight = 90; let canWidth = this.data.width; if (handData.length) { console.log('canvas宽高', canvasWidth, canvasHeight) console.log('dest图片宽度高度', canWidth, canHeight) wx.canvasToTempFilePath({ x: 0, y: 0, destHeight: canHeight, destWidth: canWidth, canvas: canvasObj, success: function (res) { console.log('res', res) that.setData({ demoSrc: res.tempFilePath }) wx.downloadFile({ url: res.tempFilePath, success: (res) => { console.log(res) }, fail: (err) => { console.log(err) } }) }, fail: function (err) { console.log('生成图片失败', err) if (err && err.errMsg.indexOf('native buffer exceed size limit') >= 0) { util.showModel('生成图片失败', '生成图片过大,请重新进入该页面,减少签名文字大小,降低右移次数') } else if (err && err.errMsg) { util.showModel('生成图片失败', err.errMsg) } else { util.showModel('生成图片失败', '请重新打开页面签名') } } }) } }
2020-06-17卧槽,这个问题还没解决啊,绘图都不行啊,750px的都绘制不上
canvas 2d 保存临时文件对高dpr设备不友好?经过测试 canvas 2d 在dpr为3的真机上.canvas 大小设置为:540px*540px,调用 canvasToTempFilePath 就会抛出异常: canvasToTempFilePath:fail:convert native buffer parameter fail.native buffer exceed size limit. 而540px*540px 实际在屏幕上显示只有很小一块。而现在Android平台很多设备dpr都是3。 为什么不能提供浏览器原生的canvas.toBlob,此时blob已经经过压缩,会比getImageData节省很多内存。 如果我们就可以把blob写入存储。 [图片]
2020-06-17