代码之家  ›  专栏  ›  技术社区  ›  Laust Deleuran

Canvas createRadialGradient()在Chrome v65中未按预期工作

  •  0
  • Laust Deleuran  · 技术社区  · 6 年前

    使用时 context.createRadialGradient() 在2d上 context ,渐变未按中的预期渲染 Chrome v65 .

    Screen shot

    这个 example above is from MDN ,但它也发生在 some of my own code .

    渐变效果很好 Firefox v59 ,Safari v11。它在Opera v52中失败了,所以可能是webkit中的一个新bug?我已经在两台不同的计算机上测试过这个问题,所以本地设置中不应该有任何原因导致它。

    有没有其他人遇到过这个bug,或者更了解如何修复它?

    编辑:找到 an open issue on Chromium here . 显然,这不是一个一致的bug,如果我正确阅读注释,应该在v66中修复。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Laust Deleuran    6 年前

    正如上面的帖子所提到的,有一个 issue in Chromium v65 . 它应该全部固定在v66中。

    如果您现在确实需要修复它,最常用的方法是确保渐变不会收到相同的 x y 第一个和第二个圆的参数:

    var gradient = ctx.createRadialGradient(100,100,100,100,100,0); // Doesn't work
    var gradient = ctx.createRadialGradient(100,100,100,100.001,100,0); // Works
    

    您可以看到 fix in effect here . 快乐的黑客!