- 小程序页面的小程序码获取出问题?
后台进行传入scene获取小程序页面的小程序码的图片时,调用是正确的,上个月获取的图片是可以用的,现在发现图片保存下来是黑的 提示格式不正确无法打开
2020-01-03 - 关于canvas组件
function drawCanvas2(ePage, path, name, index, width,height) { // path为可用的图片链,width和height为计算出的适应图片的宽高 ePage.setData({ width:width, height:height }) // 此处是对canvas标签的宽高进行适应性改变,每次根据传入的大小动态改变canvas组件宽高 console.log(ePage.data.width,ePage.data.height) index = parseInt(index) const ctx = wx.createCanvasContext(name, ePage) ctx.clearRect(0, 0, width, height) ctx.save() ctx.drawImage(path, 0, 0, width, height) // const pattern = ctx.createPattern(path, 'no-repeat') // ctx.fillStyle = pattern // ctx.fillRect(0, 0, width * 0.15, width * 0.15) ...... ctx.save() ctx.draw() wx.canvasToTempFilePath({ ....// 此处为保存图片或者将绘画好的图片链接赋值到image标签}) } "当只运行一次上述方法时,在开发者工具上显示正确的,然而在真机上canvas的宽高为上一次定义的大小"; 假如:①width =800 height = 800 为默认值,现在传入width=500 height=500 ;当在真机上进行上述方法运行wx.canvasToTempFilePath时保存的图是在width=800 height=800 上绘画的效果, ② 再次运行,传入width=600 height=600 canvas绘制的大小是width=500 height=500 上的, 进行代码适应上述改变:在方法执行前执行以下代码: const ctx = wx.createCanvasContext(name, ePage) ctx.clearRect(0, 0, width, height) ctx.draw(); 注:先进行一次绘画使得宽高改变为想要的值再运行主方法,在真机上效果实现了,然而变的稍微卡了点,在开发者工具中无法将图片的链接赋值到image标签进行显示 开发者工具输出显示如下图,未运行至箭头处,ctx.draw()无输出 未执行, [图片] 然而在真机上运行正确,代码如下图 [图片]
2018-11-08