收藏
回答

小程序的drawImage方法,不支持安卓

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug drawImage 客户端 Android 6.6.6 1.9.97

小程序,调用 canvas 的 drawImage(sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 方法,发现在 ios 显示没问题,在安卓就显示出错。


wxml:

<canvas style="width: 300px;height:300px;border: 1px solid;" disable-scroll="true" canvas-id="myCanvas" />


js:

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

wx.chooseImage({

    success: (res) => {

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

        ctx.draw()

    }

})


最终显示的结果如下:

ios显示正确:


安卓显示错误:


注:我上传的图片是同一张。

希望官方尽快解释一下,谢谢啊!~~

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

11 个回答

  • 竹尘居士
    竹尘居士
    2018-05-29

    android 上是有这个问题。

    2018-05-29
    有用 2
    回复 3
    • 熊
      2018-06-04

      给了代码片断之后,到现在都没有任何回复,微信官方真的是很醉人啊

      2018-06-04
      1
      回复
    • 刘亚彬
      刘亚彬
      2018-06-14回复

      现在还没有回复?

      2018-06-14
      回复
    • Garry
      Garry
      2018-07-11

      这么问题这么久了,还没解决呀!!卡在这里了,难道要用服务器画图吗,费流量

      2018-07-11
      回复
  • 熊
    2018-04-12

    希望官方赶紧给个回复啊!~~~

    2018-04-12
    有用 1
    回复
  • 沉默是金
    沉默是金
    2018-07-26

    我也遇到这个问题了 ,在电脑调试是可以的  安卓上面就不行  图片截取区域变小了 版本是2.2.0

    2018-07-26
    有用
    回复
  • Z.Z.
    Z.Z.
    2018-07-11

    同遇到这个问题,希望官方尽快解决!

    2018-07-11
    有用
    回复
  • 熊
    2018-04-25

    代码片段:wechatide://minicode/nK37oWmR6zYv



    2018-04-25
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2018-04-25

    麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题

    2018-04-25
    有用
    回复
  • 熊
    2018-04-13

    官方能不能来个看得懂问题的,出来给个答案呢。。

    2018-04-13
    有用
    回复
  • 熊
    2018-04-13

     - -||     我说的是 drawImage 的这个用法:drawImage(imgPath, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) ,不是说 drawImage 这个方法的其他用法有问题。。。


    麻烦直接用这段代码来测试吧,记得用安卓机,扫码开发者工具的 “预览“二维码,谢谢了!


    wxml:

    <canvas style="width: 300px;height:300px;border: 1px solid;" disable-scroll="true" canvas-id="myCanvas" />


    js:

    onLoad: function (opt) {

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

        wx.chooseImage({

            success: (res) => {

                ctx.drawImage(res.tempFilePaths[0], 505010010000150100)

                ctx.draw()

            }

        });

    }

    2018-04-13
    有用
    回复
  • ?
    2018-04-12

    有问题么    图片来源  //www.baidu.com/img/bd_logo1.png  

    2018-04-12
    有用
    回复
  • 熊
    2018-04-12

    额。。。建议您先去试一下用用小程序的 drawImage(sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) ,图片用网络图片或者 chooseImage 方法选择的图片,来绘制到 canvas。然后分别用 苹果和安卓手机真机测试一下。否则,建议您不要胡乱猜测,谢谢。

    现在小程序的 drawImage(sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 用法,只有绘制打包在代码包里面的图片,才能对安卓机起效,对于网络图片,或者用户上传的图片都是不行的。


    2018-04-12
    有用
    回复 1
    • 2018-07-28

      你好,确实是这样。 现在有更新吗这个bug? 准备什么时候更新有计划吗? 有其他操作图片的api吗?

      2018-07-28
      回复

正在加载...

登录 后发表内容