收藏
回答

drawImage无法画出完整图片,开发者几近崩溃

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug drawImage 工具 6.5.3 2.4.3


我想完成一个压缩图片的功能,但是一直无法获得压缩后完整的图片,附代码片段

测试的时候请使用1024*1024以上大小的图片,方便观察现象

最后一次编辑于  2018-12-29
回答关注问题邀请回答
收藏

5 个回答

  • 小哪吒
    小哪吒
    01-02

    之前也遇到过这个问题,,同样大小的图片在IOS端可以正常渲染,然鹅Android只能渲染一部分。4小时过去了,,把图片调到800以下,问题解决。smile.jpg

    01-02
    赞同 1
    回复
  • 我若英雄一定救美
    我若英雄一定救美
    01-02

    你与成功可能就是差了个wx.getImageInfo

    01-02
    赞同
    回复
  • kagari
    kagari
    01-02

    先用wx.getImageInfo获取图片的宽高,再按比例设置canvas的大小,最后绘制图片

    01-02
    赞同
    回复
  • 卢霄霄
    卢霄霄
    2018-12-29

    确定canvas宽高渲染好了,再开始画

    https://developers.weixin.qq.com/s/G6fTx1md7b5D

    2018-12-29
    赞同
    回复 6
    • *扬
      *扬
      2018-12-30

      这位少侠且留步,我测试了一下你的代码片段,如果用大于1024的图片,仍然是只绘制图片的一部分    0.0

      2018-12-30
      回复
    • *扬
      *扬
      2018-12-30

      我感觉canvas的创建是正确的,因为我选择不同长宽比的图片,canvas的形状也会产生相应的变化,但图片并没有进行缩放来适应canvas的大小,选择大图片,只显示其中的一小部分,选择小图片,canvas中也会有空白

      2018-12-30
      回复
    • 卢霄霄
      卢霄霄
      2018-12-30回复*扬

      你是想画一个尽可能把canvas占满的图吗?

      2018-12-30
      回复
    • *扬
      *扬
      2018-12-30回复卢霄霄

      是的,我想先创建一个canvas,然后图片占满这个canvas,这样就完成了对图片进行压缩的功能 ,

      我尝试了一些方法,比如

      ctx.drawImage(tempFilePath, 0, 0, that.data.canvasWith, that.data.canvasHeight, 0, 0, that.data.imageWidth, that.data.imageHeight);


      也不能把图片完整的画上去 -.-

      2018-12-30
      回复
    • 卢霄霄
      卢霄霄
      2018-12-30回复*扬

      哦哦。。你搜下代码片段

      canvasWith

      然后你就知道哪里不对了

      2018-12-30
      2
      回复
    查看更多(1)
  • 这都申请了
    这都申请了
    2018-12-29

    代码片段不对啊

    2018-12-29
    赞同
    回复 3
    • *扬
      *扬
      2018-12-29

      少侠,请过目!

      https://developers.weixin.qq.com/s/Sma9N1md7M5U

      2018-12-29
      回复
    • 这都申请了
      这都申请了
      2018-12-29回复*扬

      哦,我知道了,你是最新开发工具是吧?

      2018-12-29
      回复
    • *扬
      *扬
      2018-12-29回复这都申请了

      是的,开发者工具和基础库都是最新的

      2018-12-29
      回复