Canvas2D画线和面

作者: 孙亖 | 来源:发表于2017-03-07 15:22 被阅读69次

    我们知道canvas是画布,今天我们就来画布上面画线和面。

    1.Html中的画布

    <!doctype html>
    <html lang="en">
     <head>
      <title>Canvas 2D画线和面</title>
     </head>
     <body>
      <canvas id="cv" width="150" height="150"></canvas>
     </body>
    </html>
    

    canvas是HTML5中的元素,当没有设置宽度和高度的时候,canvas会初始化宽度为300像素和高度为150像素。该元素可以使用CSS来定义大小;如果在绘制时图像会伸缩以适应它的框架尺寸,那么CSS的尺寸与初始画布的比例不一致,会出现扭曲。

    2.渲染上下文

    canvas起初是空白的。为了展示,首先脚本需要找到渲染上下文,然后在它的上面绘制。<canvas> 元素有一个做 getContext() 的方法,这个方法是用来获得渲染上下文和它的绘画功能。getContext()只有一个参数,上下文的格式。对于2D图像而言你可以使用 CanvasRenderingContext2D。

    var canvas = document.getElementById('cv');
    var ctx = canvas.getContext('2d');
    

    兼容性检查
    在不支持 <canvas> 标签的浏览器中如何展示替换内容。通过简单的测试getContext()方法的存在,脚本可以检查编程支持性。上面的代码片段现在变成了这个样子:

    var canvas = document.getElementById('tutorial');
    if (canvas.getContext){
      var ctx = canvas.getContext('2d');
      // drawing code here
    } else {
      // canvas-unsupported code here
    }
    

    3.画一个方块

    获得了context,就好像获得了画笔,这时我们在画布上画下一个方块:

      ctx.fillStyle = "rgba(0, 0, 200, 0.5)";
      ctx.fillRect (30, 30, 55, 50);
    

    CanvasRenderingContext2D.fillRect() 是Canvas 2D API 绘制填充矩形的方法。矩形的起点在 (x, y) 位置,矩形的尺寸是 width 和 height ,fillStyle 属性决定矩形的样式。

    4.画一条线

    同理,画一条线也是调用ctx的方法:

    ctx.beginPath();
    ctx.moveTo(0,0);
    ctx.lineTo(100, 100);
    ctx.stroke();
    

    CanvasRenderingContext2D.stroke() 是 Canvas 2D API 使用非零环绕规则,根据当前的画线样式,绘制当前或已经存在的路径的方法。
    上面的代码中我们先绘制一条路径,然后通过stroke方法用当前的样式把这个路径渲染出来。

    相关文章

      网友评论

        本文标题:Canvas2D画线和面

        本文链接:https://www.haomeiwen.com/subject/ojhmgttx.html