- 通过id获取节点信息的bug
问题:通过id获取节点,如果id是由数字组成,则获取不到
2018-05-16 - canvas画布保存的图片链接拒绝访问,上传报错
- 当前 Bug 的表现(可附上截图) [图片] - 预期表现 [图片] - 复现路径 - 提供一个最简复现 Demo js代码 Page({ data: { url:'', fileList:[], canvasHeight:'', canvasWidth:'', }, onLoad: function (e) { var that = this; wx.chooseImage({ count: 9, // 默认9 sourceType: ['camera'], sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 success: function (res) { // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 var arr = that.data.fileList res.tempFilePaths.forEach(function (item) { arr.push(item) }) that.setData({ fileList: arr }) //获取图片详细信息 wx.getImageInfo({ src: res.tempFilePaths[0], success: (ress) => { let date =new Date(); let time = date.toLocaleTimeString() let ctx = wx.createCanvasContext('firstCanvas') that.setData({ canvasHeight: ress.height, canvasWidth: ress.width }) //将图片src放到cancas内,宽高为图片大小 ctx.drawImage(res.tempFilePaths[0], 0, 0, ress.width, ress.height) //将声明的时间放入canvas ctx.setFontSize(30) //注意:设置文字大小必须放在填充文字之前,否则不生效 ctx.setFillStyle('blue') ctx.fillText('拍摄地点', 0, 100) ctx.fillText('单证类型', 100, 50) ctx.strokeText(time, 100, 10) ctx.draw(false, function () { wx.canvasToTempFilePath({ canvasId: 'firstCanvas', success: (res) => { console.log(res.tempFilePath) wx.uploadFile({ url: '', filePath: res.tempFilePath[0], name: 'file', formData:{}, header: { "Content-Type": "multipart/form-data" }, success: function (res) { console.log(res.data) }, fail: function (res) { console.log(res) }, complete: function (res) { console.log(res) } }) }, fail: (e) => { console.log(e) } }) }) } }) } }) } }) index.html <canvas class='canvas' style="width:{{canvasWidth}}px;height:{{canvasHeight}}px;top:{{canvasHeight*2}}px;" canvas-id="firstCanvas"></canvas> index.css .canvas{ position: fixed; top: 200%; left: 0; /* background: red;*/ width: 100%; height: 100%; }
2018-08-24 - canvas中drawImage不能画base64
我是需要在海报中嵌入一个二维码,二维码是用插件生成的base64的格式的,显示在image标签可以,但是分享的时候需要把二维码画在canvas上,然后开发工具上可以实现,在真机上实现不了。 请问drawImage是不允许画网络图片,也不允许画base64的格式吗? 如果这两个都不允许的话,怎么才能实现我的需求呢?
2018-08-24