为什么只出现了第一个addColorStop中的颜色?

来源:5-2 编程练习

Joezoe

2018-04-20 20:34:41

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>canvas渐变</title>
</head>

<body>
    <canvas id="canvas" width="600px" height="600px">您的浏览器不支持</canvas>
    <script>
        var canvas = document.getElementById("canvas");
        var ctx = canvas.getContext("2d");
        ctx.translate(300, 300);
        var linearG = ctx.createLinearGradient(0, 0, 600, 600);
        linearG.addColorStop(0, "orange");
        linearG.addColorStop(0.5, "pink");
        linearG.addColorStop(0.8, "lightblue");
        ctx.arc(0, 0, 150, 0, Math.PI * 2, true);
        ctx.fillStyle = linearG;
        ctx.fill();
    </script>
</body>

</html>

请教老师, 没看出问题, 在几个浏览器试了, 圆中间都只有橙色一种颜色, 没有渐变效果

写回答

1回答

_王大可_

2018-04-20

线性渐变两个点之前的距离的一半超过所设圆形的半径,所以设置的初始颜色只能显示橙色。

0
hoezoe
h 非常感谢!看了后面的课程后恍然大悟. 原来是渐变中两个点位置设置的问题
h018-04-20
共1条回复

0 学习 · 4826 问题

查看课程