javascript - 渐变到圆圈

标签 javascript html css

<head>
    <title></title>
</head> 

<body>
    <canvas id="mycanvas" width="800" height="600" style="border: 1px solid black;">
        upload yor browser old man!
    </canvas>

    <script type="text/javascript">

        var c = document.getElementById("mycanvas");
        var cxt = c.getContext( "2d" );

        grad = cxt.createLinearGradient( 0 , 0 , 200 , 200 );

        grad.addColorStop( 0 , "blue" );
        grad.addColorStop( 1 , "green" );

        cxt.fillStyle = grad;
        cxt.arc( 400 , 300 , 250  , 0 , Math.PI * 2 , true );
        cxt.fill();
    </script>

</body>

我正在尝试将渐变放入圆圈中,问题是圆圈只是绿色,渐变失去了蓝色,或者渐变不起作用。谢谢。

最佳答案

这是因为你的渐变在你的圈子开始之前就结束了:

        var c = document.getElementById("mycanvas");
        var cxt = c.getContext( "2d" );

        grad = cxt.createLinearGradient( 0 , 0 , 200 , 200 );

        grad.addColorStop( 0 , "blue" );
        grad.addColorStop( 1 , "green" );

        cxt.fillStyle = grad;
        cxt.rect(0,0,c.width, c.height);
        cxt.fill();
        cxt.strokeStyle = "#000";
        cxt.arc( 400 , 300 , 250  , 0 , Math.PI * 2 , true );
        cxt.fill();
        cxt.stroke();
<canvas id="mycanvas" width="800" height="600" style="border: 1px solid black;">
    </canvas>

关于javascript - 渐变到圆圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28912853/

相关文章:

jquery - 使用 Twitter Bootstrap 的响应式布局

javascript - 关于如何使用其中的元素对 ul 的每一侧进行编号的任何想法?

javascript - Chart.js xAxis 线性刻度 : strange behavior

javascript - 如何修复集群捆绑图中的缩放和平移?

javascript - 在 JavaScript ES6 中,可迭代对象和迭代器有什么区别?

javascript - 使用图像区域作为提交

javascript - AngularJS 从 JSON 中提取 <img>

php - 当 URL 中包含 “” 时,为什么通过 URL 从 MySQL 获取数据不起作用?

javascript - 如何在 JavaScript 中为弹出窗口中的搜索栏着色?

css - 将按钮两个居中对齐,一个在右边