收藏
回答

createCircularGradient is not a function?

这个接口没有了吗?为啥会出现这个提示?而createLinearGradient就可以调用


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

2 个回答

  • 王贺
    王贺
    2022-08-02

    那是因为API更新后,这部分的命名从createCircularGradient 变成了 createRadialGradient。官方文档上对此只字未提,且在社区里查不到。

    不过,其实也算是提到了,“CanvasContext 是旧版的接口,新版 Canvas 2D 接口与 Web 一致”, 所以顺着这个思路从 MDN找到对应的文档:https://developer.mozilla.org/zh-CN/docs/Web/API/CanvasRenderingContext2D/createRadialGradient

    一个简单用例:

    const grd = ctx.createRadialGradient(xTo, yTo, 1, xTo, yTo, r);
    grd.addColorStop(0, 'red');
    grd.addColorStop(1, 'rgba(0,0,0,0)');
    ctx.fillStyle = grd;
    ctx.arc(xTo, yTo, r, 0, 2 * Math.PI, false);
    ctx.fill();
    
    2022-08-02
    有用
    回复
  • Cjiang
    Cjiang
    2021-10-12

    先自查下代码看看 createCircularGradient 看下是否是定义错了

    2021-10-12
    有用
    回复
登录 后发表内容