收藏
回答

canvasToTempFilePath出错

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

环境:安卓真机


模拟器一切正常,真机无法正常截图,width和height不起作用,但是在不设置destWidth和destHeight的情况下,实际出来的图片在左上角 有想要的图片,但是实际尺寸远大于设置的值。如果设置了dest的两个。则整个图片被缩小,还是左上角一块是想要的图,外侧大范围黑。


这个情况在选择真机图片拍摄,并且进行区域绘制后出现,执行过drawImage(file, ddx,ddy,ddw,ddh,0,0,1000,1000) 这样的操作。

如果只是执行过5参数或者3参数的drawImage则不出现这个情况。希望排除。

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

5 个回答

  • 2018-08-31

    4月份出现的问题,9月份了还没好,ε=(´ο`*)))唉

    2018-08-31
    有用
    回复 2
    • Rui.L
      Rui.L
      2018-08-31

      项目已经放弃了本地转换的思路了,老老实实走服务器转换返回的思路,还是openCV运行起来靠谱高效!

      2018-08-31
      回复
    • 2018-09-03

      这个问题我刚刚更新了我手机上的微信,发现好了,o(╥﹏╥)o,害我调了一整天还担心了一个周末。我微信本来是6.6.3的,现在更新到6.7.2了,也就是要限制6.7以下版本的人使用。

      2018-09-03
      回复
  • Rui.L
    Rui.L
    2018-05-07

    现在的解决方式,ios直接设置目标宽度和高度,则正常。

    android,得到图片以后,再次把图片写入,用5参数版本的drawImage。

    之后再canvasToTempFilePath,就正常了。

    算是对两个系统下的bug进行区分管理了。

    2018-05-07
    有用
    回复
  • '浅海
    '浅海
    2018-05-04

    与楼主遇到问题一样,各种乱套

    2018-05-04
    有用
    回复
  • Rui.L
    Rui.L
    2018-04-25

    var targetW = 500;

       var targetH = 500 * ddh / ddw

       this.setData({

         owidth: targetW,

         oheight: targetH,

         oshow: true

       }, function () {

         ctx3.drawImage(file, ddx, ddy, ddw, ddh, 0, 0, targetW, targetH);

         ctx3.draw(false, function () {

                

    wx.canvasToTempFilePath({

               canvasId: 'imageOri',

               x: 0,

               y: 0,

               width: targetW,

               height: targetH,

               success: function (res) {

    这时候用wx.getImageInfo取到save出来的图片,会是错误的。安卓上,大小错误,图像在正确大小的区域内。iOS上,大小错误,图像在错误的大小上撑满显示。


    总之和模拟器都不同。

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

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

    2018-04-25
    有用
    回复
登录 后发表内容