收藏
回答

自定义组件

自定义组件  使用 chooseImage  选择图片  使用Canvas 的

drawImage 图片显示不出来


不使用组件 正常绘制 ,使用组件绘制没有图片


<view>

<!-- 以下是对一个自定义组件的引用 -->

<my-component inner-text="Some text"></my-component>

</view>

<view bindtap="chooseimg">上传图片</view>

<canvas canvas-id='mycavas' style="width:100%;height:300rpx;background:red;"></canvas>

js

chooseimg: function () {

wx.chooseImage({

success: function (res) {

console.log("resresresresres", res.tempFilePaths[0]);

ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100)

ctx.draw()

},

})

}


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

1 个回答

  • Maverick
    Maverick
    2019-05-06

    ctx在哪定义的?

    2019-05-06
    有用
    回复 6
    • 拾忆
      拾忆
      2019-05-06

      问题不在这,不用纠结ctx,

      2019-05-06
      回复
    • Maverick
      Maverick
      2019-05-06回复拾忆

      你不贴完整代码谁知道问题在哪。。。组件下createCanvasContext,需要第二个参数。


      wx.createCanvasContext(string canvasId, Object this)

      Object this

      在自定义组件下,当前组件实例的this,表示在这个自定义组件下查找拥有 canvas-id 的 <canvas> ,如果省略则不在任何自定义组件内查找


      2019-05-06
      回复
    • 拾忆
      拾忆
      2019-05-06回复Maverick

      还是不行的

      <view class="inner" bindtap='chooseimg'>

      上传图片

      </view>

      <canvas canvas-id='mycanvas' style='width:100%; height;500rpx; background:red'></canvas>

      Component({

      properties: {

      // 这里定义了innerText属性,属性值可以在组件使用时指定

      innerText: {

      type: String,

      value: 'default value',

      }

      },

      data: {

      // 这里是一些组件内部数据

      someData: {}

      },

      methods: {

      // 这里是一个自定义方法

      customMethod: function () { },

      chooseimg:function(){

      var that =this

      wx.chooseImage({

      success: function(res) {

      console.log("resresresres", res.tempFilePaths[0])

      const ctx = wx.createCanvasContext('myCanvas', that);

      ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100)

      ctx.draw()

      },

      })

      }

      }

      })




      2019-05-06
      回复
    • Maverick
      Maverick
      2019-05-06回复拾忆

      你wxml里canvasID是全小写。。createCanvasContext时用的小驼峰

      2019-05-06
      回复
    • 拾忆
      拾忆
      2019-05-06回复Maverick

      嗯嗯,问题解决了,就是这个this的问题&& mycanva 大小写的问题,谢谢您,可以加个微信以后多交流,我的微信号MDC911360

      2019-05-06
      回复
    查看更多(1)
登录 后发表内容