在线等,明天上线了
已经授权位置信息还是一直报错?报getLocation:fail 频繁调用会增加电量损耗,可考虑使用[图片]
2021-03-09你好,遇到同样的问题了,请问你最后是怎么解决真机无法创建图片的问题的?
canvas.createImage创建图片不成功在真机上面,有哪位小伙伴知道怎么解决吗?就是这样写的[图片],开发者工具上面打印出来是[图片],在手机上面就是object对象,无法创建成功
2020-08-28同样的问题,请问有解决办法了吗?
canvas2d中createImageData的onload回调不起作用?导致图片无法绘制[图片] wx.showToast({ title: '图片生成中...', icon: 'none' }) const query = wx.createSelectorQuery() query.select('#letter_prize') .fields({ node: true, size: true }) .exec(async (res) => { const canvas = res[0].node const ctx = canvas.getContext('2d') const dpr = wx.getSystemInfoSync().pixelRatio canvas.width = res[0].width * dpr canvas.height = res[0].height * dpr ctx.scale(dpr, dpr) // 绘制 ctx.save() ctx.fillStyle = '#fff' ctx.fillRect(0, 0, 540, 770) ctx.restore() // 获取网络图片本地路径 const letterBg = await this.getImageLocalInfo(`${config.ossStatic}letter_empty_background.png`) const goodsImage = await this.getImageLocalInfo(this.data.letterDetail.image || 'https://emk-shop-item.oss-cn-hangzhou.aliyuncs.com/warehouse/item/7326e5b4dc07446adb163baf5dfb5928') // 奖品图 const bgImage = ctx.createImageData(540, 320) //创建image bgImage.src = letterBg //指定路径为getImageInfo的文件 bgImage.onload = (e) => { console.log(e) ctx.save() ctx.drawImage(bgImage, 0, 0, 540, 320) //图片加载完成时draw ctx.restore() }
2020-08-27找到问题是createImage创建对象时,开发者工具中正常返回图片,但是在手机中无返回值
【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-27