急!!! canvas.clip() 无效的问题。。。

问题模块 框架类型 问题类型 操作系统 工具版本
开发者工具 小程序 Bug macOS 1.02.1806120

下面这段代码有问题吗?为什么不能裁剪出一个圆出来。。。

context.save();
context.beginPath();
context.arc(50, 50, 50, 0, 2 * Math.PI);
context.closePath();
// context.fill();
context.clip();
context.fillStyle = "#900000";
context.fillRect(0, 0, 200, 200);
context.restore();
context.draw(false);

如果把注释去掉就可以?为什么 clip 之前需要先 fill 一次呢?


这个是完完整整复制的 clip 的示例中的代码,仅仅是把示例中的 drawImage 换成了 fillRect 就不行了。真的对你们的 API 很失望!!!


另外,真机是OK的~

最后一次编辑于  08-09  (未经腾讯允许,不得转载)
收藏 0评论 0
关注问题写回答

5 个回答

  • AfanAfan

    https://github.com/AfanSama/esay-canvas

    楼主看看这个

    赞同 0没有帮助
    评论 0
    复制
    08-15
  • θ–θθ–θ

    开发工具上遇到过这个问题,但是点击预览发现在真机上没问题,我就直接无视了

    赞同 0没有帮助
    评论 0
    复制
    08-10
  • C.BarnabyC.Barnaby

    同遇到这个问题,小程序开发最新版本,clip失效

    赞同 0没有帮助
    评论 1
    复制
    08-10
    • C.BarnabyC.Barnaby

      按照答主的方法画出来了,但是官网的示例不行

      赞同 0没有帮助
      回复
      复制
      08-10
    评论
  • nicknamenickname

    你好,建议更新一下开发者工具喔(https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

    赞同 0没有帮助
    评论 8
    复制
    08-09
    • 袁友才袁友才

      更新到 1.02.1808080 依然不行,麻烦官方多测试一下。比较底层的 API 有BUG我们无法修复的。而且之前很多提问得到的回答都是让我自己想法,WHAT?难道你们不应该验证下BUG是不是存在,难道不应该解释一下出现BUG的原因,如何导致的问题以及问题如何修复?难道官方回答问题的人都是客服部门的吗?就算是 github 上大项目提一个 issue,别人也会把事情说的清清楚楚 & 明明白白。


      我敢打赌,你根本没有跑过上面的有BUG的代码,甚至你可能看见问题是《开发者工具》第一反应就是让我们更新工具,好比网管让重启电脑一样。对官方这种不负责任务的做法我表示很不认同。


      小程序的源码不是开源,我们唯一能解决问题的途径只有这里。但是在这里却被这样敷衍了事,你认为这对建立开发社区有利吗? 你们自己想发明轮子,可是你们知道用轮子的是我们吗?轮子漏气了,我们缺找不到补胎的地方,想不到补胎的办法。我们就只能拖着一个蔫了的轮子在马路上跑了,这样的车子能跑多远谁也不知道。试问小程序能跑多远呢?


      赞同 0没有帮助
      回复
      复制
      08-10
    • JuneJune
      回复袁友才

      我在最新的开发者工具上(v1.02.1808080)是能裁出一个圆的。请提供一下你那边出现问题的截图?

      赞同 0没有帮助
      回复
      复制
      08-10
    • 袁友才袁友才
      回复June

      好的,劳烦大大帮忙看下。。。





      赞同 0没有帮助
      回复
      复制
      08-10
    • 展示更多
    评论
  • 袁友才袁友才

    目测是 clip 之前没有 closePath,但是我调了 closePath 啊,,,难道调了一个假的 closePath?

    赞同 0没有帮助
    评论 1
    复制
    08-09
    • 袁友才袁友才

      这个是期望的效果:https://jsbin.com/kehotuqodi/edit?html,output

      赞同 0没有帮助
      回复
      复制
      08-09
    评论