- wx.getSystemInfo无法获取iPhone 12机型
[图片] iphone12打开小程序的model返回unknown,微信版本7.0.18
2020-11-05 - canvas2d 绘图createImage(),开发者工具中正常返回,手机上无返回值
const img = this.canvasNode.createImage() console.log("DrawImg2d--22 创建一个图片对象img",img) 开发者工具中可以正常创建图片,canvas画图显示正常 [图片] 真机无返回,安卓和苹果都一样,无法成功画图 [图片]
2020-08-27 - 【BUG】Canvas在真机中第二次重构时,无法更新组件内容?
出现问题的需求是,使用Canvas组件画出的图可以切换背景图,就是需要在页面上根据传入图片值不断重构新的Canvas,在开发者工具中可以正常重构、保存新图片到本地。 但是发布到手机真机测试时出现问题,接口已经成功返回新的图片,控制台也打印保存到本地的图片地址是新图地址,但是Canvas并没有更新新图,一直是第一次画的图片地址,实际保存到本地的也是第一次的图片 保存图片使用wx.downloadFile,返回值是正常的新图地址,就是Canvas不更新新图 第一次画图使用的 const query = wx.createSelectorQuery().in(that); (query as any) .select("#sharePic") .fields({ node: true, size: true }) .exec((res) => { const canvas = res[0].node; const ctx = canvas.getContext("2d"); const dpr = wx.getSystemInfoSync().pixelRatio; canvas.width = 750 * 1; canvas.height = 1220 * 1; ctx.scale(1, 1); const CanvasD = new CanvasDraw(canvas, ctx); that.CanvasD = CanvasD; that.canvasImage = "" CanvasD.DrawImg2d(that.canvasImagebg).then(() => { CanvasD._canvasToPath(that).then((res: string) => { console.log("背景图canvasImage-----------", res) that.canvasImage = res; WXAppSDK.hideLoading(); }); }); }); 第二次画图时先清空当前canvas,再次调用1的方法重新画图 const that = this; const query = wx.createSelectorQuery().in(that); (query as any) .select("#sharePic") .fields({ node: true, size: true }) .exec((res) => { const canvas = res[0].node; const ctx = canvas.getContext("2d"); //清空画布 canvas.width = 750 * 1; canvas.height = 1220 * 1; ctx.clearRect(0,0,canvas.width,canvas.height) that.canvasImage = "" console.log("清空画布") }) 保存图片 wx.downloadFile({ url: url, success: (res) => { wx.saveImageToPhotosAlbum({ filePath: canvasImage, success: (img) => { console.log("图片保存成功",img, canvasImage); WXAppSDK.errorMessage("图片保存成功"); }, fail: () => { WXAppSDK.errorMessage("图片保存失败"); } }); } }); 开发者工具中图片都能正常重构,真机中可以重构成功返回新图片地址,但是canvas不更新新图片,保存图片也是旧图
2020-08-26