收藏
回答

画布 drawImage 时图片的显示大小出错

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

Bug表现

使用最新的 drawImage 函数写法时,若 sWidth 的值小于原图的宽度的一半,则在绘制时会导致绘制出来的图片大小变为 dWidth 和 dHeigt 的一半。即使此时 sWidth 比 dWidth 大许多。仅在 Android 上出现,目前未在 iOS 上出现

如图,黑色正方形是 100 x 100 的,图片我也是以 100 x 100 画的。



预期表现

图片大小能够正常


Demo

wxml文件:

<canvas canvas-id="myCanvas" style="width: 300px; height: 500px;"/>


js文件:


onLoad: function (options) {
   var ctx = wx.createCanvasContext('myCanvas');
   var img = "https://gss3.bdstatic.com/-Po3dSag_xI4khGkpoWK1HF6hhy/baike/c0%3Dbaike92%2C5%2C5%2C92%2C30/sign=80f0e4b4a61ea8d39e2f7c56f6635b2b/267f9e2f07082838ac3a8f1bb899a9014c08f18e.jpg";
   
   wx.getImageInfo({
       src: img,
       success: function (res) {
           ctx.fillRect(0, 0, 100, 100);
           ctx.drawImage(res.path, 0, 0, 200, 200, 0, 0, 100, 100);
           ctx.draw();
       }
   });
},



最后一次编辑于  2018-01-25  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

5 个回答

  • 孔祥赫
    孔祥赫
    2018-02-05

    我也遇到了

    2018-02-05
    赞同
    回复
  • Q
    Q
    2018-05-28

    同,遇到,求解决

    2018-05-28
    赞同
    回复 1
    • 西赛德李
      西赛德李
      2018-05-28

      我这1月份的bug到现在微信都还没解决

      2018-05-28
      回复
  • ²⁰¹⁹
    ²⁰¹⁹
    2018-06-28

    同问,我也遇到了

    2018-06-28
    赞同
    回复
  • Ray
    Ray
    2018-07-17

    我也遇到同样问题

    2018-07-17
    赞同
    回复 2
    • 西赛德李
      西赛德李
      2018-07-17

      半年过去了……

      2018-07-17
      回复
    • Ray
      Ray
      2018-07-17

      只能土炮手动适配o(╯□╰)o

      2018-07-17
      回复
  • 西赛德李
    西赛德李
    2018-08-08

    已经修复啦!

    需要安装微信 Android 端 6.7.2 测试版才能看到

    2018-08-08
    赞同
    回复