zoukankan      html  css  js  c++  java
  • Canvas createLinearGradient 线性渐变【每日一段代码21】

    <!DOCTYPE HTML>
    <html>
    <head>
    <title>linearGradient</title>
    <script type="text/javascript">
    function draw() {
    var cxt = document.getElementById("myCanvas").getContext("2d");
    //创建渐变
    var lingrad = cxt.createLinearGradient(0,0,0,150);
    lingrad.addColorStop(0,'#00ABEB');
    lingrad.addColorStop(0.5,'#fff');
    lingrad.addColorStop(0.5,'#66CC00');
    lingrad.addColorStop(1,'#fff');

    var lingrad2 = cxt.createLinearGradient(0,50,0,95);
    lingrad2.addColorStop(0.5,'#000');
    lingrad2.addColorStop(1,'rgba(0,0,0,0)');
    //指定渐变填充和描边样式
    cxt.fillStyle=lingrad;
    cxt.strokeStyle=lingrad2;
    //绘制图形
    cxt.fillRect(10,10,130,130);
    cxt.strokeRect(50,50,50,50);
    }
    </script>
    <body onLoad="draw()">
    <canvas id="myCanvas" height="150" width="150" style="border:2px solid #F00;"></canvas>
    </body>
    </html>

    显示效果如下:

    【使用线性渐变来填充、描边。新建一个 canvasGradient 对象,并且赋给图形的 fillStyle 或 strokeStyle 属性。createLinearGradient(x1,y1,x2,y2),方法接受 4 个参数,表示渐变的起点 (x1,y1) 与终点 (x2,y2)。创建出 canvasGradient 对象后,使用 addColorStop 方法上色。addColorStop(position, color) ,方法接受 2 个参数,position 参数必须是一个 0.0 与 1.0 之间的数值,表示渐变中颜色所在的相对位置。例如,0.5 表示颜色会出现在正中间。color 参数必须是一个有效的 CSS 颜色值。】

    【实例展示了两种不同的渐变。第一种是背景色渐变,同一位置设置了两种颜色,也可以用这来实现突变的效果,就像这里从白色到绿色的突变。一般情况下,色标的定义是无所谓顺序的,但是色标位置重复时,顺序就变得非常重要了。所以,保持色标定义顺序和它理想的顺序一致,结果应该没什么大问题。第二种渐变,并没有从 0.0 位置开始定义色标,因为那并不是那么严格的。在 0.5 处设一黑色色标,渐变会默认认为从起点到色标之间都是黑色。最后说明,strokeStyle 和 fillStyle 属性都可以接受 canvasGradient 对象。】

  • 相关阅读:
    NetCore物联网平台 4
    NetCore物联网平台 3
    NetCore物联网平台 2
    NetCore物联网平台 1
    阿里云IoT 8:待更新
    阿里云IoT 7:待更新
    阿里云IoT 6:待更新
    阿里云IoT 5:待更新
    阿里云IoT 4:数据解析
    svg 实现半环形进度条
  • 原文地址:https://www.cnblogs.com/naokr/p/2356550.html
Copyright © 2011-2022 走看看