收藏
回答

我用canvas生成海报时,出现 如下错误,根本找不出哪里错了?

回答关注问题邀请回答
收藏

2 个回答

  • Stranger
    Stranger
    03-31

    onLoad里面找不到toString

    03-31
    有用
    回复
  • 罗梅光
    罗梅光
    03-31

    在 “pages/newspersonGiftPoster/newsperonGiftPoster” 有没有 toString?

    03-31
    有用
    回复 5
    • 风生水起正好扬帆
      风生水起正好扬帆
      03-31
      没有呢。createNewImg: function() {
        let self = this;
        wx.showLoading({
         title: '加载中'
        });
        context.fillRect(0, 0, self.data.width, self.data.height)
        // 背景图
        context.drawImage(app.globalData.posterData.posterBg, 0, 0, self.data.width, self.data.height); //绘制背景图
        context.setFontSize(14);
        context.setFillStyle('black');
        context.setTextAlign('right');
        context.fillText(self.data.name, self.data.width - 10, 60);
        context.stroke();
        //二维码
        context.drawImage(app.globalData.posterData.codeBg, self.data.width - 70, self.data.height - 90, 60, 60); //绘制二维码
        //绘制头像
        context.arc(self.data.width - 30, 23, 20, 0, 2 * Math.PI) //画出圆
        context.setFillStyle('#EEEEEE')
        context.fill()
        context.clip();
        // 头像
        context.drawImage(app.globalData.posterData.posterHeader, self.data.width - 50, 3, 40, 40);
        context.draw()
        //将生成好的图片保存到本地,需要延迟一会,绘制期间耗时
        setTimeout(function() {
         wx.canvasToTempFilePath({
          canvasId: 'mycanvas',
          success: function(res) {
           self.setData({
            imagePath: res.tempFilePath
           });
           console.log(res.tempFilePath)
           wx.hideLoading()
          },
          fail: function(res) {
           console.log("失败了")
           console.log(res);
          }
         });
        }, 200);
       },
      03-31
      回复
    • 风生水起正好扬帆
      风生水起正好扬帆
      03-31
      就在onReady里调了下this.createNewImg()
      03-31
      回复
    • 罗梅光
      罗梅光
      03-31回复风生水起正好扬帆
      哦豁,那就触及到我的知识盲点了。
      03-31
      回复
    • 风生水起正好扬帆
      风生水起正好扬帆
      03-31回复罗梅光
      呼,刚刚找出了错误点了。我把  context.setFontSize(14);
        context.setFillStyle('black');
        context.setTextAlign('right');
        context.fillText(self.data.name, self.data.width - 10, 60);这几行注释掉就不报错了。
      03-31
      回复
    • 罗梅光
      罗梅光
      03-31回复风生水起正好扬帆
      嗯嗯,那就好
      03-31
      回复
登录 后发表内容
问题标签