Taro框架使用canvas生成图片

目前要开发一个小程序项目,领导要我上手直接就是Taro,语法基本是React的语法(可叹我是个vue爱好者,以前只是用过RN[0.43]版本,目前都0.59版本了),开发起来比原生的效率要高一点, Taro——一套遵循 React 语法规范的多端统一开发框架

为何选择Taro

框架名称 github-stars UI框架 语法 研发团队
Taro 18k Taro-ui React语法 京东
uni-app 7k uni-app插件 Vue语法 DCloud
mpvue 17k mpvue-weui Vue语法 美团
Chameleon 12k Chameleon-ui 小程序语法 滴滴

从对比stars看Taro优点比较大,从社区群体上看uni-app在开发这块仍是颇有潜力的,毕竟一直都在更新中,而且已有现有的开发工具
这是掘进上对比的Taro和uni-app的文章,有对比目前所流行的框架支持度以及生态如何html

遇到问题canvas画图,而后保存图片

canvasToTempFilePath: fail canvas is empty

点击canvas按钮我请求一张网络图片,一直抛这个异常,查阅文章,网上基本都是小程序生成图片,不多有关于Taro
clipboard.pngvue

代码以下-采坑react

wxDrawImage(){
      let that = this;
      var canvas = Taro.createCanvasContext('shareCanvas',this)
      canvas.drawImage('https://www.vipbic.com/template/default/public/img/logo.png',0,0,this.state.canvasWidth,this.state.canvasWidth * 1.5)
      canvas.setTextAlign('center')
      canvas.setFillStyle('#ffffff')
      canvas.setFontSize(12)
      canvas.fillText("生成的文字", this.state.canvasWidth * 0.5, this.state.canvasWidth * 1.26)
      canvas.stroke();
      canvas.draw(true,()=>{
        Taro.canvasToTempFilePath({
          canvasId: 'shareCanvas',
          success: function(res) {
            console.log(res)
            Taro.saveImageToPhotosAlbum({
              filePath: res.tempFilePath,
              success: function(res) {
                console.log(res)
              },
              fail: function(err) {
                console.log(err)
              }
            },that)
          }
        },that)
      })
    }

如需正确使用,需将Taro.createCanvasContext('shareCanvas',this)替换Taro.createCanvasContext('shareCanvas',this.$scope),小编我也是Google,百度搜了很多文章才知道,也许是我对react理解不够深刻吧git

相关文章
相关标签/搜索